OneToMany を持つエンティティ「リスト」からエンティティ「ビュー」があります。これらの間のキーは、リストの ID を保持する view.content_id ですが、他のエンティティにも関連しているため、追加することで
/**
* @var Listing
*
* @ORM\ManyToOne(targetEntity="\Acme\Bundle\Entity\Listing", inversedBy="views")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="content_id", referencedColumnName="id")
* })
*/
private $listing;
ビュー エンティティを保存するときに 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;
Listing.views に参加し、WITH content_type = :ContentType を追加して、いくつかの「ビュー」結果を識別するクエリを作成しています。