【发布时间】:2015-01-31 20:19:37
【问题描述】:
我试图简单地迭代控制器端 laravel 中的结果集。这是我尝试过的,但出现以下错误:
Cannot use object of type stdClass as array
控制器sn-p:
$result = DB::select($query);
foreach($result as $r){
echo $r['email'];
}
感谢您对此提供的任何帮助,
提前致谢!
【问题讨论】:
我试图简单地迭代控制器端 laravel 中的结果集。这是我尝试过的,但出现以下错误:
Cannot use object of type stdClass as array
控制器sn-p:
$result = DB::select($query);
foreach($result as $r){
echo $r['email'];
}
感谢您对此提供的任何帮助,
提前致谢!
【问题讨论】:
你需要把它当作一个对象来使用:
$result = DB::select($query);
foreach($result as $r){
echo $r->email;
}
或者如果由于某种原因你想将它用作数组,你需要先转换它:
$result = DB::select($query)->toArray();
foreach($result as $r){
echo $r['email'];
}
【讨论】:
从数据库中提取数据后,您可以将其转换为数组,但它是可选的,这取决于您的需要,然后您可以简单地使用 foreach 循环到每个不同的对象并访问它们的属性
$data = DB:: table('categories')
->where('parent_id', $request->value)
->get()->toArray();
$output = '<option value="">Select '.ucfirst($request->dependent).'</option>';
foreach($data as $row){
$output.= '<option value="'.$row->id.'">'.$row->title.'</option>';
}
return response($output, 200);
【讨论】: