私はエンティティ 'view'に対してOneToManyを持つエンティティ 'listing'を持っていますが、これらのキーはリストのIDを保持するview.content_idですが、それは他のエンティティにも関係しますDoctrine2 OneToMany mappedByなし
/**
* @var Listing
*
* @ORM\ManyToOne(targetEntity="\Acme\Bundle\Entity\Listing", inversedBy="views")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="content_id", referencedColumnName="id")
* })
*/
private $listing;
viewエンティティを保存するときにcontent_idがnullになるため、ビューにはブレーキがかかります。
どうすれば修正できますか?側をリストに
関係:いくつかの '表示' の結果を判別したContentType:
/**
* @var views
*
* @ORM\OneToMany(targetEntity="\Acme\Bundle\Entity\View", mappedBy="listing")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="id", referencedColumnName="content_id")
* })
*/
private $views;
私はListing.viewsに参加し、CONTENT_TYPE = WITH追加することにより、クエリを作ってるんです。
エラーは、 'cascade = {" persist "}'を使用するよう指示していませんか? – cheesemacfly
エラーはありませんが、これは有効な方法です。ただし、 'view'を保存すると、content_typeフィールドはこの列を指す2つの注釈があるため、nullになります。 – Paxton
通常、第2の 'JoinColumns'または' JoinColumn'アノテーションの必要はありません.1つの 'owner'と1つの' inverse'サイドがあるからです。私の推測では、あなたのコード内のそれらのアノテーションは何らかの矛盾を引き起こしているので、Doctrineはどのサイトがどのサイトであるかを解決できないということです... –