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