遍历 Laravel 控制器中的结果集

Iterating through result set in Laravel controller

我试图简单地遍历控制器端 laravel 中的结果集。这是我尝试过的方法,但出现以下错误:

Cannot use object of type stdClass as array

控制器片段:

$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);