2012-08-21 18 views
106

に私はDoctrineのリポジトリにfindBy()方法を使用しています:)教義

$entities = $repository->findBy(array('type'=> 'C12')); 

はどのような結果を注文することができますか?

答えて

237

findByの2番目のパラメータはORDERです。

$ens = $em->getRepository('AcmeBinBundle:Marks') 
      ->findBy(
      array('type'=> 'C12'), 
      array('id' => 'ASC') 
      ); 
+6

どうやら教義のウェブサイト上のAPIドキュメントは、実際のソースコードが一致しません。 https://github.com/doctrine/doctrine2/blob/2.4/lib/Doctrine/ORM/EntityRepository.phpは、あなたが正しいことを示しています。 –

+0

複数の順序を設定することはできますか? –

+2

少し遅れてこの質問が見つかりましたが、これについて疑問に思う人は、複数の「order by」を追加して、その2番目のパラメータ配列に要素を追加し、フィールド名 'ASC'または 'DESC'を定義します。 IE: 'array( '優先度' => 'ASC'、 'id' => 'ASC')'。 –

15
$ens = $em->getRepository('AcmeBinBundle:Marks') 
       ->findBy(
       array(), 
       array('id' => 'ASC') 
       ); 
8
$cRepo = $em->getRepository('KaleLocationBundle:Country'); 

// Leave the first array blank 
$countries = $cRepo->findBy(array(), array('name'=>'asc'));