2017-07-28 6 views
-2

私は、ユーザーが、このコードが動作しているが、それは明確なorm symfonyですべてをフェッチする方法は?

$userList = [1,5,2,3,1]; 
$users = $this->getEntityManager()->getRepository('AppBundle:User')->findBy(['id' => $userList]); 

を照会し、ユーザーのすべてのリストを取得しようとしています。これは、この

--------------- 
userid | name 
--------------- 
1  | we 
5  | ace 
2  | red 
3  | ran 

のように表示されますが、私はORMでそれを行うことができますどのようにこの1

--------------- 
userid | name 
--------------- 
1  | we 
5  | ace 
2  | red 
3  | ran 
1  | we 

のように表示したいですか?

更新

私はこの1つを試してみてください。

public function getUsers($id) 
    { 
     $query = $this->createQueryBuilder('u') 
      ->addSelect('u') 
      ->distinct(false) 
      ->where('u.id IN (:ulist)') 
      ->setParameter('ulist', $id) 
      ->getQuery(); 
     $users = $query->getResult(Query::HYDRATE_ARRAY); 

     return $users; 
    } 

が、それはこれを試してみてください同じ

答えて

0

を表示:

$users = $this->getDoctrine()->getRepository('AppBundle:User')->findById([1,2,3,4,5,6, 12,10]); 
dump($users); 
exit; 

また、あなたは、クエリビルダを試すことができますhere

+0

私は同じ結果を得ました – user3818576

1

を見ることができます。

$repository = $this->getDoctrine()->getRepository('AppBundle:User'); 
$query = $repository->createQueryBuilder('u') 
->select('u') 
->where('u.id IN (:ulist)') 
->setParameter('ulist', $userList) 
->getQuery(); 
$users = $query->getResult(); 

これはまだ明確な結果がこの

$repository = $this->getDoctrine()->getRepository('AppBundle:User'); 
$query = $repository->createQueryBuilder('u') 
->select('u') 
->distinct(false) 
->where('u.id IN (:ulist)') 
->setParameter('ulist', $userList) 
->getQuery(); 
$users = $query->getResult(); 

は、そうでなければ、あなたがオブジェクトの配列を作成する必要がありますしようと、あなたを取得する場合。あなたは[[0]今、あなたはすべてのレコードを持つ多次元配列を持っている、とあなただけの$ユーザーのようにそれらを取得したいとあなたはできるだけ多くが望むそれらを表示することができ

$users = $query->getResult(Query:HYDRATE_ARRAY); 

との最後の行を置き換えることにより、「ユーザ名をそれを行うことができます']たとえば

+0

私は同じ結果を得ました。それは別です。 getDoctrine()関数をgetEntityManager()に変更します。これは私のコードで重要なのでしょうか? – user3818576

+0

私のユーザーリポジトリgetDoctrine()が見つかりませんでしたので、getDoctrine()関数をgetEntityManager()に変更しました – user3818576

+0

あなたはコントローラにいますか?コントローラーを使用している場合、このコードは少なくともsymfony 3以降で完全に有効です。あなたは2番目のクエリを試しましたか? –

関連する問題