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