通常、Doctrineでレコードを取得すると、Doctrine_Collectionのインデックスには整数インデックスが使われます。 しかし、取得したレコード一覧を単にループで処理するのではなく、連想配列のように処理したい場合もあります。 このような場合、Doctrine_Collectionのインデックスに、取得するレコードの特定のフィールドを使うように設定できます。 この機能を「Key Mapping」と呼びます。 INDEXBYキーワード コレクション:キーのマッピング Key Mappingの基本1 INDEXBYキーワードによる指定 DQL内に直接指定できる「INDEXBY」というキーワードがあります。 これを使うのがもっとも簡単です。 <?php $user_list = Doctrine_Query::create()->from('User u INDEXBY u.hand