【问题标题】:Exception Property [Id] Does Not Exist on This Collection Instance此集合实例上不存在异常属性 [Id]
【发布时间】:2019-06-21 11:38:22
【问题描述】:

为什么会出现异常:

此集合实例上不存在属性 [id]。

namespace App\Http\Controllers;

use Illuminate\Http\Request;
use App\Goods;
use App\Categories;

class CategoriesController extends Controller
{
    public function categoryAction($latin_url){
        $category = Categories::where('latin_url', $latin_url)->get();
        var_dump($category->id); die;
        if ($category){
            $goods = Goods::where('category_id', $category->id)->get(); 
            return view('goods', ['goods' => $goods]);
        }
    }
}

【问题讨论】:

  • 你能在$category上做一个dd吗?

标签: php laravel orm eloquent


【解决方案1】:
$category = Categories::where('latin_url', $latin_url)->get();

这会返回一个结果集合,而不是只有一个结果。所以没有 id 属性。 使用:

$category = Categories::where('latin_url', $latin_url)->first();

当有 0 个结果时,上面的例子不起作用,你可以用这个代替:

$category = Categories::where('latin_url', $latin_url)->firstOrFail();

什么会导致 HTTP 404 错误,如果它不存在

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-09-25
    • 2021-11-19
    • 2023-03-12
    • 2018-04-12
    • 1970-01-01
    • 1970-01-01
    • 2017-09-05
    • 2019-09-13
    相关资源
    最近更新 更多