Я получаю неопределенное смещение:0 Ошибка в категории, подкатегории, странице категории Subsub
Я пытаюсь отобразить страницу категории, подкатегории, подкатегории, но получаю неопределенное смещение: ошибка 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"]);
1 ответ
После этих строк
$cat = Category::where('slug',$cat)->get();
$subcatid = Subcategory::where('slug',$subcat)->get();
$subsubcatid = SubSubcategory::where('slug',$subsubcat)->get();
Вы должны проверить, действительно ли эти $cat, $subcatid и $subsubcatid имеют данные или нет. Вы получаете эту ошибку смещения, потому что ваш скрипт пытается получить доступ к значению, которое не существует.