0
我有一個實體A與一對多乙
實體答:主義多對一另一個indexe比ID
/**
* @ORM\Table(name="A", indexes={
* @ORM\index(name="uid", columns={"uid"}),
* })
* @ORM\Entity(repositoryClass="AppBundle\Repository\ARepository")
*/
class A
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @var string
* @ORM\Column(name="uid", type="string", length=50, unique=true)
*/
private $uid;
/**
* ORM\OneToMany(targetEntity="AppBundle\Entity\B",mappedBy="a",cascade={"persist","remove"})
*/
private $b;
// Guetters and setters ...
而實體B
/**
* @ORM\Table(name="B")
* @ORM\Entity(repositoryClass="AppBundle\Repository\BRepository")
*/
class B
{
/**
* @ORM\Column(name="id", type="integer")
* @ORM\Id
* @ORM\GeneratedValue(strategy="AUTO")
*/
private $id;
/**
* @ORM\ManyToOne(targetEntity="AppBundle\Entity\A",inversedBy="b")
* @ORM\JoinColumn(referencedColumnName="uid",name="a_uid")
*/
private $a;
// Guetters and setters ...
我嘗試這樣做:
$A = new A();
$B->setA($A);
我堅持他們。當我衝,我有這樣的錯誤:(?)
[Symfony\Component\Debug\Exception\ContextErrorException]
Notice: Undefined index: uid
我真的不知道該怎麼辦,看來我有一個指標問題...任何幫助是值得歡迎的
更新:
如果我在$ uid上添加@ORM\Id
,並且刪除@ORM\GeneratedValue(strategy="AUTO")
,它會在我手動設置A.id字段時起作用...
我正在接近目標! ^^