Details
Description
Join columns can't be quoted like columns using name="`quoted`". Using annotation driver.
/** * @ORM\Table( * name="`category`", * indexes={ * @ORM\Index( * name="fk_category_parentId", * columns={"parentId"} * ) * }, * uniqueConstraints={ * @ORM\UniqueConstraint( * name="uq_category_nameParentId", * columns={"name", "parentId"} * ) * } * ) */ class Category { /** * @ORM\Id * @ORM\Column(type="smallint", name="`id`") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\Column(type="smallint", name="`parentId`", nullable=true) */ protected $parentId; /** * @ORM\Column(type="string", length=50, name="`name`") */ protected $name; /** * @ORM\ManyToOne(targetEntity="Category", inversedBy="categories") * @ORM\JoinColumn(name="parentId", referencedColumnName="id", onDelete="CASCADE", onUpdate="NO ACTION") */ protected $category; } ... public function load(ObjectManager $manager) { $parent = new Category(); $parent->setName('parent'); $manager->persist($parent); $manager->flush(); $child = new Category(); $child->setName('parent'); $child->setParentId($parent->getId()); $child->setCategory($parent); $manager->persist($child); $manager->flush(); }
Result: Invalid parameter number: number of bound variables does not match number of tokens
Activity
Marc Easen
made changes -
| Field | Original Value | New Value |
|---|---|---|
| Affects Version/s | 2.1.6 [ 10182 ] | |
| Affects Version/s | 2.0-ALPHA3 [ 10029 ] | |
| Description |
Join columns can't be quoted like columns using name="`quoted`". Using annotation driver. Not sure where this would occur. AnnotationDriver? ORM? DBAL? |
Join columns can't be quoted like columns using name="`quoted`". Using annotation driver. /** * @ORM\Table(name="`category`", indexes={@ORM\Index(name="fk_category_parentId", columns={"parentId"})}, uniqueConstraints={@ORM\UniqueConstraint(name="uq_category_nameParentId", columns={"name", "parentId"})}) */ class Category { /** * @ORM\Id * @ORM\Column(type="smallint", name="`id`") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\Column(type="smallint", name="`parentId`", nullable=true) */ protected $parentId; /** * @ORM\Column(type="string", length=50, name="`name`") */ protected $name; /** * @ORM\ManyToOne(targetEntity="Category", inversedBy="categories") * @ORM\JoinColumn(name="parentId", referencedColumnName="id", onDelete="CASCADE", onUpdate="NO ACTION") */ protected $category; } ... public function load(ObjectManager $manager) { $parent = new Category(); $parent->setName('parent'); $manager->persist($parent); $manager->flush(); $child = new Category(); $child->setName('parent'); $child->setParentId($parent->getId()); $child->setCategory($parent); $manager->persist($child); $manager->flush(); } Result: Invalid parameter number: number of bound variables does not match number of tokens |
| Attachment | quoted_joins_fix.diff [ 11194 ] | |
| Fix Version/s | 2.0-BETA1 [ 10030 ] |
Fabio B. Silva
made changes -
| Description |
Join columns can't be quoted like columns using name="`quoted`". Using annotation driver. /** * @ORM\Table(name="`category`", indexes={@ORM\Index(name="fk_category_parentId", columns={"parentId"})}, uniqueConstraints={@ORM\UniqueConstraint(name="uq_category_nameParentId", columns={"name", "parentId"})}) */ class Category { /** * @ORM\Id * @ORM\Column(type="smallint", name="`id`") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\Column(type="smallint", name="`parentId`", nullable=true) */ protected $parentId; /** * @ORM\Column(type="string", length=50, name="`name`") */ protected $name; /** * @ORM\ManyToOne(targetEntity="Category", inversedBy="categories") * @ORM\JoinColumn(name="parentId", referencedColumnName="id", onDelete="CASCADE", onUpdate="NO ACTION") */ protected $category; } ... public function load(ObjectManager $manager) { $parent = new Category(); $parent->setName('parent'); $manager->persist($parent); $manager->flush(); $child = new Category(); $child->setName('parent'); $child->setParentId($parent->getId()); $child->setCategory($parent); $manager->persist($child); $manager->flush(); } Result: Invalid parameter number: number of bound variables does not match number of tokens |
Join columns can't be quoted like columns using name="`quoted`". Using annotation driver. {code} /** * @ORM\Table( * name="`category`", * indexes={ * @ORM\Index( * name="fk_category_parentId", * columns={"parentId"} * ) * }, * uniqueConstraints={ * @ORM\UniqueConstraint( * name="uq_category_nameParentId", * columns={"name", "parentId"} * ) * } * ) */ class Category { /** * @ORM\Id * @ORM\Column(type="smallint", name="`id`") * @ORM\GeneratedValue(strategy="AUTO") */ protected $id; /** * @ORM\Column(type="smallint", name="`parentId`", nullable=true) */ protected $parentId; /** * @ORM\Column(type="string", length=50, name="`name`") */ protected $name; /** * @ORM\ManyToOne(targetEntity="Category", inversedBy="categories") * @ORM\JoinColumn(name="parentId", referencedColumnName="id", onDelete="CASCADE", onUpdate="NO ACTION") */ protected $category; } ... public function load(ObjectManager $manager) { $parent = new Category(); $parent->setName('parent'); $manager->persist($parent); $manager->flush(); $child = new Category(); $child->setName('parent'); $child->setParentId($parent->getId()); $child->setCategory($parent); $manager->persist($child); $manager->flush(); } {code} Result: Invalid parameter number: number of bound variables does not match number of tokens |
Fabio B. Silva
made changes -
| Assignee | Roman S. Borschel [ romanb ] | Fabio B. Silva [ fabio.bat.silva ] |
Fabio B. Silva
made changes -
| Status | Open [ 1 ] | Resolved [ 5 ] |
| Fix Version/s | 2.3 [ 10185 ] | |
| Resolution | Fixed [ 1 ] |
Marc Easen
made changes -
| Resolution | Fixed [ 1 ] | |
| Status | Resolved [ 5 ] | Reopened [ 4 ] |
Benjamin Eberlei
made changes -
| Workflow | jira [ 13737 ] | jira-feedback [ 14107 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback [ 14107 ] | jira-feedback2 [ 15971 ] |
Benjamin Eberlei
made changes -
| Workflow | jira-feedback2 [ 15971 ] | jira-feedback3 [ 18224 ] |
Fabio B. Silva
made changes -
| Status | Reopened [ 4 ] | Closed [ 6 ] |
| Resolution | Fixed [ 1 ] |