私のコードは次のようになります:
if (isset($filters['price_from'])) {
$queryBuilder
->leftJoin($root . '.variants', 'v')
->andWhere($queryBuilder->expr()->gte('v.price', ':price'))
->setParameter('price', $filters['price_from']);
}
if (isset($filters['price_to'])) {
$queryBuilder
->leftJoin($root . '.variants', 'v')
->andWhere($queryBuilder->expr()->lte('v.price', ':priceTo'))
->setParameter('priceTo', $filters['price_to']);
}
DB でフィルター処理するために GET パラメーターを処理したいのですが、一度にprice_fromとprice_to パラメーターの両方がある場合、「v は既に定義されています」という例外がスローされます。どうすればそれを行うことができますか、またはパラメーターを処理してフィルターを作成するベストプラクティスはありますか? あなたの助けに感謝します。