我正在尝试在Symfony / Doctrine实体中创建多个零或一个链接。我认为以下应该起作用:
/**
* @var integer
*
* @ORM\Column(name="vragenlijst_id")
* @ORM\ManyToOne(targetEntity="GroNed\AdminBundle\Entity\WalkthroughType")
* @ORM\JoinColumn(name="vragenlijst_id", referencedColumnName="id", nullable=true)
*/
private $vragenlijst;
但是:Doctrine似乎不同意我的观点:
[bhillier@devserver-2 Symfony]$ php app/console doctrine:schema:update --dump-sql
ALTER TABLE walkthrough CHANGE vragenlijst_id vragenlijst_id INT NOT NULL;
我可能错过了一些愚蠢的东西,但我现在看不到什么。有没有人有任何想法?
如果有帮助:
[bhillier@devserver-2 Symfony]$ /usr/local/apache2/bin/apachectl -version
Server version: Apache/2.4.18 (Unix)
Server built: Jan 26 2016 06:31:19
[bhillier@devserver-2 Symfony]$ /opt/php-5.6/bin/php --version
PHP 5.6.17 (cli) (built: Jan 26 2016 05:36:55)
Copyright (c) 1997-2015 The PHP Group
Zend Engine v2.6.0, Copyright (c) 1998-2015 Zend Technologies
[bhillier@devserver-2 Symfony]$ php app/console --version
Symfony version 2.6.13 - app/dev/debug
答案 0 :(得分:2)
您需要删除@var
和@ORM\Column
注释,这些注释在使用关联时不是必需的。
答案 1 :(得分:2)
根据您的注释,您要告诉Doctrine
创建一个名为vragenlijst_id
的列,并且您不会对它的可归属性进行任何说明。您正在使用注释执行此操作:
@ORM\Column(name="vragenlijst_id")
正确的注释将是:
/**
* @var integer
*
* @ORM\ManyToOne(targetEntity="GroNed\AdminBundle\Entity\WalkthroughType")
*/
private $vragenlijst;