为什么这个迭代不适用于laravel集合

时间:2017-05-09 08:36:59

标签: 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;

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

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

如果我用以下内容替换请求:

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

然后它不起作用我得到这个数组:

Array ( [0] => Numérique ) 

对于这两个请求,我得到一个集合,所以我可以迭代抛出它,不是吗?我很有说服力,当然我很想念。

Thansk

的Dom

1 个答案:

答案 0 :(得分: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();