私はsymfonyのに新たなんだ、とクエリの実行中に、私はエラーを得た:symfonyの3つのパラメーターが多すぎ
public function getFilteredArticles($page, $nbPerPage, $data) {
$query = $this->createQueryBuilder('a')
->leftJoin('a.images', 'i')
->addSelect('i')
->leftJoin('a.type_stockage', 't')
->addSelect('t')
->leftJoin('a.famille', 'f')
->addSelect('f');
if ($data['famille'] != '') {
$query->where('f.id = :famille')
->setParameter('famille', $data['famille']);
}
if ($data['rds'] == false) {
$query->where('a.stock_actuel > 0');
}
if ($data['recherche'] != '' && $data['recherche'] != null) {
$query->where('a.ref_article LIKE :recherche')
->setParameter('recherche', '%' . $data['recherche'] . '%');
}
$query->leftJoin('a.sousfamille', 's')
->orderBy('a.ref_article', 'ASC')
->getQuery();
$query->setFirstResult(($page - 1) * $nbPerPage)
->setMaxResults($nbPerPage);
return new Paginator($query, true);
}
このクエリは、あなたが見ることができるようconditionnalsパラメータを持っているが、それは私が必要とする記事のリストを返します。テーブルのために。 「:クエリが0のパラメータを定義して、あなたは1をバインドすぎる 多くのパラメータ」
例外は、テンプレートのレンダリング中にスローされました(:私は私のテーブルを埋めるために、このクエリを実行するときしかし、私はエラーを得ました)。
私はなぜ彼が0のパラメータを期待しているのかわかりません。代わりにsetParametersを使ってみましたが、結果は同じです。
アイデアはありますか?
ありがとうございます!それは今うまく動作:) – AKM