Php ErrorException未定义的偏移量:0

Php ErrorException未定义的偏移量:0,php,laravel,Php,Laravel,我是拉威尔框架的新手。我试图在我的电脑上运行我的朋友项目,但在打开某个菜单时出错,当我在浏览器上运行代码时,它会显示ErrorException(注意)未定义的偏移量:0。如何解决这个错误 这是处理菜单的控制器 公共函数getViewPesananCust(){ $userId=Auth::user()->id; $data['transaksi']=事务::选择('*','Transaction.id as id_transaksi') ->join('用户作为pemesan','pemesa

我是拉威尔框架的新手。我试图在我的电脑上运行我的朋友项目,但在打开某个菜单时出错,当我在浏览器上运行代码时,它会显示ErrorException
(注意)
未定义的偏移量:0
。如何解决这个错误

这是处理菜单的控制器

公共函数getViewPesananCust(){
$userId=Auth::user()->id;
$data['transaksi']=事务::选择('*','Transaction.id as id_transaksi')
->join('用户作为pemesan','pemesan.id','transaction.id\u用户')
->其中('transaction.id_user','=',$userId)
->orderBy('timestamp','DESC')->get();
$data['rating_user']=array();
$x=事务::where('id_user',$userId)->where('status_transaksi',1)->orderBy('timestamp','DESC')->get();
$a=数组();
外汇($x为$y){
$z=Transaksi::where('id_Transaksi',$y['id_Transaksi'])->get()[0];
阵列推送($a,$z);
}
$b=数组();
foreach($a为$y){
$z=Menu::where('id',$y['id_Menu'])->get()[0];
阵列推送($b,$z);
}
$c=数组();
foreach($b为$y){
$z=评级::其中('id_menu',$y['id'])->get()[0];
阵列推送($c,$z);
}
$data['rating_user']=$c;
返回视图('pesanan',$data);
}

因为第一个循环在集合上,所以它的循环很好,但对于第二个循环,当它在关联数组上循环时,需要使用键值对

       foreach($a as $key=>$value) {
          $z = Menu::where('id',$value['id_menu'])->get()[0];
          array_push($b, $z);
       }

对数据库的查询可能返回空结果。在使用查询结果之前,您需要检查查询结果中存在的数据

   public function getViewPesananCust(){
        $userId = Auth::user()->id;
        $data['transaksi'] = Transaction::select('*', 'transaction.id as id_transaksi')
        ->join('users as pemesan', 'pemesan.id', 'transaction.id_user')
        ->where('transaction.id_user', '=', $userId)
        ->orderBy('timestamp', 'DESC')->get();
        $data['rating_user'] = array();
        $x = Transaction::where('id_user', $userId)->where('status_transaksi', 1)->orderBy('timestamp', 'DESC')->get();
        $a = array();
        foreach($x as $y) {
            // check empty records
            $d1 = Transaksi::where('id_transaksi', $y['id_transaksi'])->get();
            if($d1 && count(d1) > 0){
                $z = $d1[0];
                array_push($a, $z);
            }
        }
        $b = array();
        foreach($a as $y) {
            $d2 = Menu::where('id',$y['id_menu'])->get();
            // check empty records
            if($d2 && count(d2) > 0){
                $z = $d2[0];
                array_push($b, $z);
            }
        }
        $c = array();
        foreach($b as $y) {                
            $d3 = Menu::where('id',$y['id_menu'])->get();
            // check empty records
            if($d3 && count(d3) > 0){
                $z = $d3[0];
                array_push($c, $z);
            }
        }
        $data['rating_user'] = $c;

        return view('pesanan', $data);
    }
->get()[0]
替换为
->first()
以下是可能重复的文档