我试图将自定义属性添加到检索到的集合
$category = categories::where('cat_id',$id)->first();
foreach($category as $c):
dd(var_dump($c->cat_id))
$c->custom_attr = $c->cat_id;
endforeach;
但它却抛出了这个错误
尝试获取非对象的属性
除非我使用' get()'而不是' first()'然后它奏效了。如果我做
$category = categories::where('cat_id',$id)->first();
foreach($category as $c):
dd(var_dump($c))
endforeach;
它让我回头
bool(true)
null
如果我这样做
$category = categories::where('cat_id',$id)->first();
foreach($category as $c):
dd(var_dump('xx'))
endforeach;
确保转储返回' xx'。有什么想法,请帮忙吗?
答案 0 :(得分:3)
您应该使用get()
代替first()
。
first()
为您提供了一个对象,get()
会为您提供一组对象。
如果您想获取属性,请不要使用foreach()
或for()
,只需获取以下属性:
$category->name;