迭代Laravel控制器中的结果集

Anc*_*end 12 laravel eloquent

我试图简单地迭代控制器端laravel中的结果集.这是我尝试但我收到以下错误:

Cannot use object of type stdClass as array
Run Code Online (Sandbox Code Playgroud)

控制器片段:

$result = DB::select($query);

foreach($result as $r){
    echo $r['email'];
}
Run Code Online (Sandbox Code Playgroud)

我很感激任何帮助,

提前致谢!

Gie*_*ius 19

您需要将其用作对象:

$result = DB::select($query);

foreach($result as $r){
    echo $r->email;
}
Run Code Online (Sandbox Code Playgroud)

或者,如果由于某种原因您想将其用作数组,则需要先将其转换为:

$result = DB::select($query)->toArray();

foreach($result as $r){
    echo $r['email'];
}
Run Code Online (Sandbox Code Playgroud)