1
我有類別表和製表。這兩個表都與第三個category_make表相關,創建了多對多的關係。從教義收集載入相關的內容symfony2
/**
* @var \Doctrine\Common\Collections\Collection
*
* @ORM\ManyToMany(targetEntity="Ladisi\MotorsBundle\Entity\Make", inversedBy="catogory", fetch="EAGER")
* @ORM\JoinTable(name="catogory_make",
* joinColumns={
* @ORM\JoinColumn(name="catogory_id", referencedColumnName="cat_id")
* },
* inverseJoinColumns={
* @ORM\JoinColumn(name="make_id", referencedColumnName="make_id")
* }
*)
*/
private $make;
我想獲得屬於特定類別的品牌。我曾嘗試過,
$query = $em
->createQuery(
'SELECT c, m FROM LadisiMotorsBundle:Catagory c
JOIN c.make m
WHERE c.catId= :id'
)->setParameter('id', $id);
$result = $query->getResult();
但每次我只有類別字段,使實體不可用的結果。我也嘗試通過調用類對象的getMakes方法來獲得結果,它也返回null(不是實體,我猜是代理)。我如何解決這個問題。任何幫助都會很棒。
正如我所說,我已經試過你的方法是返回null,這就是爲什麼我發佈的問題。 – 2014-12-16 15:20:39
你可以在你的Catagory實體中顯示代碼嗎?我看到你用catogory和catagory不一致。這可能是要看的東西。 – priktop 2014-12-16 16:08:59
我知道有一些拼寫錯誤,我通過使用'$ result = $ query-> getResult(Query :: HYDRATE_ARRAY);'在發佈的代碼上解決了問題。我忘記了我能夠找到解決方案,謝謝任何方式。但我不知道這裏會發生什麼,如果你不介意你能解釋爲什麼你的方法不起作用(我再次嘗試過,考慮錯別字)。有什麼和抓取方法有關嗎? – 2014-12-16 16:53:47