首页 > 解决方案 > 试图获取非对象 Laravel 8 的属性“id”

问题描述

这是我的路线页面

Route::get("/customize/profile/{id}", [CustomizeController::class, 'detail'])->name('customize_detail');

这是刀片页面

<a href="{{ route("customize_detail", [ $item->id ]) }}" title="{{ $item->case_title }}" class="img_scale"> </a>

这是我的控制器

    public function detail(Cases $case, $id)
    {
        $caseTable = $case->with('lights');
        $cases = $caseTable->where('id', $id)->first();

        /*foreach ($lights as $light) {
            dd($light);
        }*/
        $cases->case_center_img = json_decode($cases->case_center_img, true);
        return view('customize', compact('cases', ));
    }

结果是尝试获取非对象的属性“id”

有什么问题以及如何解决?

标签: laravel

解决方案


$item不是一个对象,所以你不能引用它的成员,比如$item->id. 如果$item应该是一个对象,那么你需要看看为什么它不是一个对象。您很可能有一个循环,$item迭代器在哪里,您尝试在循环体之外引用它。


推荐阅读