我正在尝试从存储库中获取我的产品我有3张桌子: - 类别 - 包含caporie_id的类型 - 包含types_id
的产品我的树枝视图返回"不存在变量产品"我的QueryBuilder出了什么问题?谢谢
class ProduitsRepository extends DoctrineORMEntityRepository {
public function byCategorie($categorie) {
$qb = $this->createQueryBuilder('p')
->select('p') // Entity Produits
->join('p.type', 't')
->addSelect('t') // Entity Types
->where('p.type = t.id AND t.categorie = :categorie')
->orderBy('p.id')
->setParameter('categorie', $categorie);
return $qb->getQuery()->getResult();
}
}
好吧,我添加了屏幕截图在此处输入图像描述
这是我的控制器
public function categorieAction($categorie)
{
$em = $this->getDoctrine()->getManager();
$produits = $em->getRepository('GbaBundle:Produits')->byCategorie($categorie);
return $this->render('GbaBundle:Default:produits/layout/produits.html.twig', array(
'produits' => $produits
));
}
这是我的树枝视图produits.html.twig
<ul class="thumbnails">
{% for produit in produits %}
<li class="span3">
<div class="thumbnail">
<img src="{{ asset('img/holder.png') }}" alt="" width="300" height="300">
<div class="caption">
<h4>Thumbnail label</h4>
<p>100,00 €</p>
<a class="btn btn-primary" href="{{ path('gba_presentation') }}">Plus d'infos</a>
<a class="btn btn-success" href="{{ path('gba_panier') }}">Ajouter au panier</a>
</div>
</div>
</li>
{% endfor %}
</ul>
对不起,我不能发表评论,但是您应该给我们您的树枝文件,这可能会对我们有所帮助。另外,我认为它不会改变任何东西,但我会写这样的查询:
$this->createQueryBuilder('p')
->select('p, t')
->join('p.type', 't')
->where('t.categorie = :categorie')
->orderBy('p.id')
->setParameter('categorie', $categorie);
编辑:查看屏幕截图,似乎您正在从错误的控制器操作中呈现视图。您有一个称为categorieAction
的动作,另一个(似乎是错误的)称为produitsAction
。您应该为这两个动作做不同的路线以避免发生冲突。