我有一个实体'列表'与OneToMany到实体'视图',这些之间的关键是view.content_id,它保存列表的ID,但是,它也与其他实体有关,所以通过添加
/**
* @var Listing
*
* @ORM\ManyToOne(targetEntity="\Acme\Bundle\Entity\Listing", inversedBy="views")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="content_id", referencedColumnName="id")
* })
*/
private $listing;
Run Code Online (Sandbox Code Playgroud)
对视图进行制动,因为在保存视图实体时,content_id变为null.
我该如何解决?
上市方面的关系:
/**
* @var views
*
* @ORM\OneToMany(targetEntity="\Acme\Bundle\Entity\View", mappedBy="listing")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="content_id")
* })
*/
private $views;
Run Code Online (Sandbox Code Playgroud)
我通过加入Listing.views并添加WITH content_type =:ContentType来查询某些"视图"结果,从而进行查询.
小智 0
我来参加聚会已经很晚了,但我想我会回答,以防它对其他人有帮助。
由于您在两个实体之间建立了关系,您现在必须将一个对象分配给该属性,而不是 FK 值本身。就像这样:
$listing = $em->getRepository('Acme\Bundle\Entity\Listing')
->find($content_id);
$view->setListing($listing);
Run Code Online (Sandbox Code Playgroud)
并不是:
$view->setListing($content_id);
Run Code Online (Sandbox Code Playgroud)
当然,如果结果是别的什么,我很想知道。
:^)