如何在laravel中将查询结果存储在数组中

时间:2016-10-13 17:11:13

标签: laravel

  for($i=1;$i<=3;$i++)
    {
        $data=DB::table('for_test')
        ->where('for_test.id','=',$i)
        ->distinct()
        ->get();
    }

对于每个循环,它从'for_test'表中选择一个不同的行。但我不能存储它们。我该如何存放?作为我写的例子

  foreach ($data as $datas) {
        echo $datas->name;
    }

我如何获得三个值?

1 个答案:

答案 0 :(得分:2)

在循环的每次迭代中,您都会覆盖$data变量。相反,将$data作为一个数组并附加到它:

$data = [];
for ($i = 1; $i <= 3; $i++) {
    $data[] = DB::table('for_test')
        ->where('for_test.id','=',$i)
        ->distinct()
        ->get();
}

但是您也可以在一个查询中执行此操作(尽管我怀疑您的代码只是一个示例):

$data = DB::table('for_test')
    ->whereIn('for_test.id', [1, 2, 3])
    ->distinct()
    ->get();