-1
dqlクエリでランダムな結果を得るにはどうすればよいですか?Symfony doctrine MaxResultを使用したクエリのDQLランダム結果
これが私のクエリです:
$firstCategoryId = 50;
$repository = $this->entityManager->getRepository(BaseProduct::class);
$products = $repository->createQueryBuilder('p')
->join('p.categories', 'c')
->where('c.id = :categoryId')
->setParameter('categoryId', $firstCategoryId)
->getQuery()
->setMaxResults(4)
->getResult();
これは常に最初の4つの製品を私に返します。 ID 50のカテゴリに100以上の製品があるとします。そして、私が望むのは、ID 50のカテゴリからランダムに4つの記事を照会することです。これは可能ですか?もちろん、私は最大の結果を設定することはできませんし、PHPで行うよりも...これはパフォーマンスのために良い解決策ではありません。
あなたが本当に速気にしないのであれば、あなたは、すべての製品を取得しようと結果の配列をシャッフルして、最初の4つの要素を取得することができます。 –
look [here](http://stackoverflow.com/questions/10762538/how-to-select-randomly-with-doctrine)、これはすでに回答済みです – iscato
[Doctrineでランダムに選択する方法]の可能な複製(http: //stackoverflow.com/questions/10762538/how-to-select-randomly-with-doctrine) – Veve