php - 我得到未定义的偏移量:0 类别、子类别、子类别页面中的错误
问题描述
我正在尝试显示类别、子类别、子子类别页面,但是当我打开任何页面时出现未定义的偏移量:0 错误。请让我知道如何在特定页面上显示我的数据。
这是我的控制器 GuidePagesController.php
<?php
public function categoryGuides(Request $r, $cat, $subcat=NULL,$subsubcat=NULL){
$guidedata=GuidePages::all();
if($cat != NULL && $subcat != NULL && $subsubcat != NULL){
$cat = Category::where('slug',$cat)->get();
$subcatid = Subcategory::where('slug',$subcat)->get();
$subsubcatid = SubSubcategory::where('slug',$subsubcat)->get();
$guides = GuidePages::where(function($q) use($cat, $subcatid, $subsubcatid) {
$q->where('category_id','=', $cat[0]->id)
->where('subcategory_id','=', $subcatid[0]->id)
->where('subsubcategory_id','=', $subsubcatid[0]->id);
})->orderBy('id','desc')->paginate(8);
} elseif($cat != NULL && $subcat != NULL) {
$cat = Category::where('slug',$cat)->get();
$subcatid = Subcategory::where('slug',$subcat)->get();
$guides = GuidePages::where(function($q) use($cat, $subcatid){
$q->where('category_id','=', $cat[0]->id)
->where('subcategory_id','=', $subcatid[0]->id);
})->orderBy('id','desc')->paginate(8);
} else {
$cat = Category::where('slug',$cat)->get();
$guides = GuidePages::where('category_id','=', $cat[0]->id)
->orderBy('id','desc')->paginate(10);
}
$data=['guidedata'=>$guidedata,'guides'=>$guides,'cat'=>$cat[0]->category_name,];
return view('guide-pages', $data);
}
这是我的路线:
Route::get("category/{cat}/{subcat?}/{subsubcat?}"
, ["uses" => "GuidePagesController@categoryGuides"
, "as" => "category.cat.product"]);
解决方案
在这些行之后
$cat = Category::where('slug',$cat)->get();
$subcatid = Subcategory::where('slug',$subcat)->get();
$subsubcatid = SubSubcategory::where('slug',$subsubcat)->get();
您应该验证这些 $cat、$subcatid 和 $subsubcatid 是否真的有数据。您收到此偏移错误是因为您的脚本试图访问一个不存在的值。
推荐阅读
- python - 使用 Python 的 CURL 响应中的数据值
- wordpress - WordPress 页面模板超链接
- php - 使用未同步到前端的 Woocommerce 方法保存产品属性
- spring - 休眠:无法通过 UUID 找到
- python - 将 .pem 证书添加到烧瓶(开发服务器)
- python - 如何在 Django 中更改代理模型上字段的最大长度
- javascript - 添加带有自定义文本的单选按钮
- c# - 为什么这种方法从字面上删除书签范围?C#
- c++ - 我无法让 VSCode 在 c/c++ 文件的面包屑/大纲中显示函数名称
- arrays - 数组类型“char [30]”不可分配