2017-05-09 37 views
0

工作,我有这样的要求:为什么这个迭代不为laravel收集

$liste_type_question = TypeQuestion::orderBy('ordre_affichage')->get(); 

这个请求返回一个集合。我想遍历这个集合这样返回的数组:

$array_type_question = []; 


    foreach ($liste_type_question as $type_question) { 
     $array_type_question = array_add($array_type_question, $type_question->id_type_question, $type_question->libelle_type_question); 
    } 

    // print_r($array_type_question); 
    return $array_type_question; 

它正常工作,我得到这个数组:

$liste_type_question = TypeQuestion::orderBy('ordre_affichage')->get(); 

Array ([NUMERIC] => Numérique [TEXT] => Texte [LISTE] => Liste) 

如果我更换请求那么它不起作用,我得到这个数组:

Array ([0] => Numérique) 

对于这两个请求我收集一个集合,所以我可以迭代抛出它,不是吗?我非常喜欢口才,当然我错过了一些东西。

Thansk

的Dom

回答

0

Laravel提供pluck() method

$liste_type_question = TypeQuestion::orderBy('ordre_affichage') 
    ->get() 
    ->pluck('libelle_type_question', 'id_type_question'); 

这个返回对象,如:['id_type_question' => 'libelle_type_question'] 如果你需要数组在刚刚结束如增加->toArray()

$liste_type_question = TypeQuestion::orderBy('ordre_affichage') 
    ->get() 
    ->pluck('libelle_type_question', 'id_type_question') 
    ->toArray(); 
+0

谢谢你的回答。但我有同样的结果:Array([0] => Liste)而不是表的所有内容。这就是我使用数据库外观的原因。 – Dom