2017-05-09 86 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