我有一个对象Brand
,我想要打印此对象的id
。
执行return Sentry::getUser()->brand()->get()->id
时出现以下错误:
Undefined property: Illuminate\Database\Eloquent\Collection::$id
但是,如果我删除了->id
部分,我的整个对象就好了,包括id
(return Sentry::getUser()->brand()->get()
)
我做错了什么?
答案 0 :(得分:4)
您需要使用:
return Sentry::getUser()->brand()->first()->id;
否则,您最终会得到一组用户(即使该集合可能只包含一个用户)。
答案 1 :(得分:0)
它可能会保留在您使用的框架中。我的猜测是,任何类型的每个对象都是一个默认的对象类型对象,它具有自己的id。如果可能,将“id”更改为brand_id或类似的东西。
答案 2 :(得分:0)
如果只有一个对象且始终为1,则可以使用return Sentry :: getUser() - > brand() - > first() - > id。它检索单个对象,而get()返回一个对象数组,即使只有一个匹配。