Я получаю неопределенное смещение: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 имеют данные или нет. Вы получаете эту ошибку смещения, потому что ваш скрипт пытается получить доступ к значению, которое не существует.

Другие вопросы по тегам