Skip to content

Loading…

DDC-2643: Problem on updating an entity with multi-column-identifier with Nullable field #3378

Closed
doctrinebot opened this Issue · 2 comments

2 participants

@doctrinebot

Jira issue originally created by user hakayashii:

Updating an entity that has an multicolumn-key, where one or more columns can be null, would fail if one column is null. Following senario won't work:

CREATE TABLE t1 (
owner int(11) NOT NULL,
partner int(11) NOT NULL,
refNumber int(11) DEFAULT NULL,
text varchar(255) NOT NULL,
UNIQUE KEY refNumber (refNumber),
UNIQUE KEY identifier_key (owner,partner,refNumber)
);

$em = $this->getDoctrine()->getEntityManager();

$entity = $em->getRepository('CoreBundle:T1') ->findOneBy(array('owner'=>1,'partner'=>2)); // { Entity has following values 'owner':1,'partner':2, 'refNumber':null, 'text': "simple text"}
$entity->setText('another simple text');
$em->flush();
// results in following query: UPDATE t1 SET text = ? WHERE owner = ? AND partner = ? AND refNumber = ?
// the query resolves but doesn't change any, because "refNumber = null" should be "refNumber is null" to work

@doctrinebot

Comment created by @beberlei:

We cannot fix this issue, Doctrine needs the primary key columns to be a value not equaling NULL.

@doctrinebot

Issue was closed with resolution "Can't Fix"

@beberlei beberlei was assigned by doctrinebot
@doctrinebot doctrinebot closed this
@doctrinebot doctrinebot added the Bug label
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Something went wrong with that request. Please try again.