在查询构建器中,您可以指定应将字段用作数组索引:
$qb = $em->createQueryBuilder();
$qb->select('s');
$qb->from('models\Settings', 's', 's.key'); // here the magic
$result = $qb->getQuery()->getResult();
//here $result[key] is entity
任何人都知道如何将indexBy(不是DB,但结果数组的索引)添加到findBy方法,或者为存储库创建类似findBy的方法,如:
$clients = $clientRepository->findBy(['id' => $clients], [indexBy=>id]);
OR
$clients = $clientRepository->myFindByWithIndexBy(['id' => $clients], 'id');
我需要一个带过滤条件的方法(在哪里),它应该返回由id
索引的实体答案 0 :(得分:-1)
findBy的第二个参数用于排序结果(数据库上下文中的索引是另一回事)。
$repo->findBy(['id'=>$clients], ['id'=>'asc']); // reverse by changing 'asc' to 'desc'