php - ErrorException 未定义的偏移量:0
问题描述
我是 Laravel 框架的新手。我尝试在我的电脑上运行我的朋友项目,并在打开某个菜单时出错,当我在浏览器上运行代码时,它显示 ErrorException (E_NOTICE)
Undefined offset: 0
。我该怎么做才能解决这个错误?
这是处理菜单的控制器
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) {
$z = Transaksi::where('id_transaksi', $y['id_transaksi'])->get()[0];
array_push($a, $z);
}
$b = array();
foreach($a as $y) {
$z = Menu::where('id',$y['id_menu'])->get()[0];
array_push($b, $z);
}
$c = array();
foreach($b as $y) {
$z = Rating::where('id_menu', $y['id'])->get()[0];
array_push($c, $z);
}
$data['rating_user'] = $c;
return view('pesanan', $data);
}
解决方案
由于您的第一个循环在一个集合上,它的循环很好,但是对于第二个循环,您需要使用键值对,因为它在关联数组上循环。
foreach($a as $key=>$value) {
$z = Menu::where('id',$value['id_menu'])->get()[0];
array_push($b, $z);
}
推荐阅读
- php - 无法在 Ubuntu 上使用 Apache 2.4 运行 PHP 8
- html - laravel - 在正确的选项卡中显示验证错误
- java - 为什么我不能让 java 绑定 (GDAL) 工作
- angular - 有没有办法显示信息窗口,如果我点击后退按钮(浏览器)发出警告并重新加载 reacitveForms
- list - 用 vars 初始化一个列表
- mongodb - 如何使用聚合返回只有 2 条相关评论的帖子?
- angular - 如何以角度删除现有控件?
- php - 如何将 AWS S3 文件上传到 YouTube API
- javascript - 拒绝应用来自 'http://localhost:3000/assets/styles/signup.css' 的样式,因为它的 MIME 类型('text/html')不是受支持的样式表 MIME 类型
- git - 只清理未跟踪的目录