首页 > 解决方案 > 我得到未定义的偏移量: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"]);

标签: phplaravellaravel-5eloquentlaravel-5.7

解决方案


在这些行之后

$cat = Category::where('slug',$cat)->get();
$subcatid = Subcategory::where('slug',$subcat)->get();
$subsubcatid = SubSubcategory::where('slug',$subsubcat)->get();

您应该验证这些 $cat、$subcatid 和 $subsubcatid 是否真的有数据。您收到此偏移错误是因为您的脚本试图访问一个不存在的值。


推荐阅读