【问题标题】:Iterating through result set in Laravel controller遍历 Laravel 控制器中的结果集
【发布时间】: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 eloquent


    【解决方案1】:

    你需要把它当作一个对象来使用:

    $result = DB::select($query);
    
    foreach($result as $r){
        echo $r->email;
    }
    

    或者如果由于某种原因你想将它用作数组,你需要先转换它:

    $result = DB::select($query)->toArray();
    
    foreach($result as $r){
        echo $r['email'];
    }
    

    【讨论】:

      【解决方案2】:

      从数据库中提取数据后,您可以将其转换为数组,但它是可选的,这取决于您的需要,然后您可以简单地使用 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);
      

      【讨论】:

        猜你喜欢
        • 2011-11-30
        • 2023-02-15
        • 2017-10-23
        • 2019-02-18
        • 2020-07-12
        • 2014-09-30
        • 2012-06-05
        • 1970-01-01
        相关资源
        最近更新 更多