我得到了两个使用左连接学说可以正常工作的实体。当我尝试使用表单进行编辑并且描述为空(未找到行)时,会出现问题。如何确保 Description.productid 填充有 Product.productid ?
object(Test\AdminBundle\Entity\Product)#245 (5) {
["productid":protected]=>
string(4) "8989"
["product":protected]=>
string(12) "Test Test"
["price":protected]=>
string(4) "9,95"
["groupid":protected]=>
string(2) "72"
["description":protected]=>
object(Test\AdminBundle\Entity\Description)#417 (3) {
["productid":protected]=>
NULL
["description":protected]=>
string(4) "qweq fdasd"
}
}
class Product
{
/**
* @Assert\NotBlank(groups={"edit"})
* @Assert\Range(min = "100", max = "99999", groups={"search", "edit"})
* @ORM\Id
* @ORM\Column(type="integer")
*/
protected $productid;
...
/**
* @Assert\Type(type="Test\AdminBundle\Entity\Description")
* @ORM\OneToOne(targetEntity="Description", cascade={"persist"})
* @ORM\JoinColumn(name="productid", referencedColumnName="productid")
*/
protected $description;
...
}
class Description
{
/**
* @ORM\Id
* @ORM\Column(type="integer")
*/
protected $productid;
/**
* @ORM\Column(type="text")
*/
protected $description;
...
}
我的表(mysql myisam)都使用相同的productid作为主键:
product
productid | price | morecolumns | ...
description
productid | description | morecolumns | ...