Symfony 2 + Doctrine 2:外键作为主键

时间:2013-06-28 15:28:43

标签: php doctrine-orm annotations foreign-keys primary-key

我在谷歌上阅读了this以及我发现的其他一些内容。

所以,自从Doctrine 2.1 - ,如果我理解正确 - Doctrine可以处理以外键为主键的表。

但是,这对我的桌子不起作用!

这是我生成的实体(app/console doctrine:mapping:convert annotation ./src --force):

namespace VENDOR\MyBundle\Entity;

use Doctrine\ORM\Mapping as ORM;

/**
 * ClientActivated
 *
 * @ORM\Table(name="client_activated")
 * @ORM\Entity
 */
class ClientActivated
{
    /**
     * @var boolean
     *
     * @ORM\Column(name="activated", type="boolean", nullable=true)
     */
    private $activated;

    /**
     * @var \VENDOR\MyBundle\Entity\Client
     *
     * @ORM\OneToOne(targetEntity="VENDOR\MyBundle\Entity\Client")
     * @ORM\JoinColumns({
     *   @ORM\JoinColumn(name="ref_id_client", referencedColumnName="id_client", unique=true)
     * })
     */
    private $refClient;
}

当我clear:cache时说:

  

[Doctrine \ ORM \ Mapping \ MappingException]没有标识符/主键   为实体“CDA \ SvBundle \ Entity \ FidClie ntAvantagesSv”指定。   每个实体都必须有一个标识符/主键。

我,当然,尝试在@ORM\Id上添加$refClient,删除JoinColumns [...],但总是出现相同的错误消息我试着清除缓存!

(并且,如果您想知道,是的,我也尝试手动删除cache/*个文件)

0 个答案:

没有答案