我试图从存储库中获取我的产品 我有3张桌子: - 类别 - 包含categorie_id的类型 - 包含types_id
的产品我的树枝视图返回"变量产品不存在" 我的querybuilder出了什么问题? 谢谢
class ProduitsRepository extends \Doctrine\ORM\EntityRepository {
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();
}
}
好的,我添加一个截图 enter image description here
这是我的控制器
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
));
}
这是我的twig view 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>
答案 0 :(得分:1)
抱歉,我无法发表评论,但你应该给我们你的枝条文件,它可能对我们有所帮助。此外,我不认为它会改变任何东西,但我会写这样的查询:
$this->createQueryBuilder('p')
->select('p, t')
->join('p.type', 't')
->where('t.categorie = :categorie')
->orderBy('p.id')
->setParameter('categorie', $categorie);
编辑:查看截图,看起来您正在从错误的控制器操作渲染视图。您有一个名为categorieAction
的操作和另一个名为produitsAction
的操作(似乎是错误的操作)。您应该为这两个操作设置不同的路径以避免冲突。