0
如果任何學說的專家,如果能幫助白衣這一點:學說2加入一對多
有一個表,[menu]
它看起來像
id | parent | lft | rgh | level | page_id
1 0 1 2 0 1
有一個表[pages]
id | page_id | language_id | title |
1 1 1 LANG1
2 1 2 LANG2
,所以我想用這個學說兩個表映射什麼我至今
在菜單實體
/**
* @ORM\OneToMany(targetEntity="Entity\Page", mappedBy="page_id", fetch="LAZY")
**/
private $pages;
,並在頁面實體
/**
* @ORM\ManyToOne(targetEntity="Entity\Menu", inversedBy="pages")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="page_id", referencedColumnName="page_id")
* })
**/
private $page_id;
現在所有的頁面都在ArrayCollection的店在菜單被稱爲$頁面
一切工作正常,當我得到
$repo = $em->getRepository('Entity\Menu');
$node = $repo->findOneById(1);
//this returns $pages var
$page = $node->getPages()->toArray();
var_dump($page);
我可以看到有關所選節點的所有頁面都在那裏,但我的目標是比較有,如一些關係OneToOne我想有隻與由下式給出LANGUAGE_ID節點一個頁面,但我不知道該怎麼去做吧。我想知道如果有一種方式讓一些WHERE子句中的頁的實體,但我所有的嘗試都沒有成功,所以如果有人能幫助將是巨大的LANGUAGE_ID。提前致謝!