Symfony 当我在Doctrine中有复合密钥时,如何生成ID?
我有一个带有复合键的Symfony 当我在Doctrine中有复合密钥时,如何生成ID?,symfony,doctrine-orm,symfony-2.3,Symfony,Doctrine Orm,Symfony 2.3,我有一个带有复合键的实体。见下文: class BankAccount { /** * @ORM\Id * @ORM\Column(type="integer") * */ protected $bank; /** * @ORM\Id * @ORM\ManyToOne(targetEntity="CompanyBundle\Entity\Company") */ protected $co
实体
。见下文:
class BankAccount {
/**
* @ORM\Id
* @ORM\Column(type="integer")
*
*/
protected $bank;
/**
* @ORM\Id
* @ORM\ManyToOne(targetEntity="CompanyBundle\Entity\Company")
*/
protected $company;
...
}
由于Doctrine在复合密钥方面存在一些问题,它不会生成序列(我在PostgreSQL中工作),因此如何处理这一问题以生成作为PK的
$bank
如果听起来您不想要复合键,只需要$bank
上的主键和$company
上的外键。如果是这样的话
class BankAccount {
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $bank;
/**
* @ORM\ManyToOne(targetEntity="CompanyBundle\Entity\Company")
*/
protected $company;
...
}
应该这样做。我不确定是否理解您的问题-请澄清。您不能对postgresql的主键使用
@ORM\GeneratedValue(strategy=“AUTO”)
,是否正在寻找生成id的方法?