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;
}
我如何获得三个值?
答案 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();