【问题标题】:ErrorException (E_NOTICE) Undefined offset: 0 laravelErrorException (E_NOTICE) 未定义的偏移量:0 laravel
【发布时间】:2019-03-21 05:03:59
【问题描述】:

我正在尝试从数据库中读取数据并将数据显示到表单中,但我不断收到此错误。

这是我的控制器:

public function create()
{
    /* this function gets data from the database (marks table) and render it to the view view */

    $data['data']=DB::table('marks')->get();

    if(count($data[0])>0){
        return view('view',$data);
    }
    else{
        return view('view');
    }   
}

这就是我定义路线的方式:

Route::resource('claude', 'viewcontroller');

【问题讨论】:

  • 您遇到的错误是什么?

标签: database laravel undefined offset


【解决方案1】:

变量$data 没有0 的索引。
但它有一个名为 data 的密钥。
所以你必须通过密钥来访问它。

应该是

 if(count($data['data']) > 0){
     return view('view',$data);
 }

【讨论】:

    【解决方案2】:

    get() 会返回一个集合,你可以检查它是否有项目

        if ($data['data']->count()) {
    
            return view('view',$data);
        } else {
            return view('view');
        }
    

    【讨论】:

      【解决方案3】:
       if(is_array($data) && isset($data)){
           return view('view',$data);
       }
      

      【讨论】:

      • 感谢您提供答案。您能否编辑您的答案以包括对您的代码的解释?这将有助于未来的读者更好地了解正在发生的事情,尤其是那些刚接触该语言并难以理解概念的社区成员。
      猜你喜欢
      • 1970-01-01
      • 2021-07-06
      • 1970-01-01
      • 2021-01-25
      • 1970-01-01
      • 2021-05-31
      • 1970-01-01
      • 2014-06-25
      • 2021-02-13
      相关资源
      最近更新 更多