1
は、配列のインデックスとして使用する必要があります。Symfony2のfindBy + INDEXBY
$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
誰もがfindByにINDEXBY(ないDBではなく、結果の配列のインデックス)を追加する方法を知っています方法、またはリポジトリのfindByのような方法を作る、のようなもの:私は必要
$clients = $clientRepository->findBy(['id' => $clients], [indexBy=>id]);
OR
$clients = $clientRepository->myFindByWithIndexBy(['id' => $clients], 'id');
メソッドでフィルタ条件を指定すると、idでインデックスされたエンティティが返されます。
「indexBy'がDBにない」とはどういう意味ですか? – Veve
@Veve indexByはDBに全く関係していないことを意味します。 IndexByはインデックスで配列順で、DBでは順序ではありません。http://docs.doctrine-project.org/projects/doctrine-orm/en/latest/reference/query-builder.html#high-level-api-methods – Crusader