だから私の友人と私はインターネットで検索したDQLでオブジェクトとIDのどちらを使用するかについて話し合っていましたが、どちらがベストプラクティスであるかを確認するために教義のドキュメントで何も見つかりませんでした価格が10未満の製品を取得したいので、パフォーマンスを向上させるには、製品リポジトリでDQLを作成し、$ categoryオブジェクトを渡します。私の友人は、$ category-> getId()を渡して、このようにIdで検索する必要があると言っています。
public function findCheapProducts($categoryId){
return $this->createQueryBuilder('p')
->where('p.category = :categoryId')
->andWhere('p.price < :price')
->setParameters(array(
'categoryId' => $categoryId,
'price' => 10
));
}
でも私が言うのはこんな感じ
public function findCheapProducts(Category $category){
return $this->createQueryBuilder('p')
->where('p.category = :categoryId')
->andWhere('p.price < :price')
->setParameters(array(
'categoryId' => $category,
'price' => 10
));
}
ここにコードを書いたので、エラーや事柄はここではあまり重要ではありません。目的は、識別子で条件を設定するためのより良い方法を確認することです。