我正在我的控制器中创建以下视图:
$links = Link::with('cats')->get();
return View::make('home')
->with('links',$links);
这导致以下对象:
{"id":1,"user_id":1,"cat_id":3,"link":"http:\/\/www.google.de","active":0,"description":"","created_at":"2014-07-16 19:46:23","updated_at":"2014-07-16 19:46:23",
"cats":[
{"id":1,"cat_name":"Design","created_at":"2014-07-16 00:00:00","updated_at":"2014-07-16 00:00:00","pivot":{"link_id":1,"cat_id":1}}
]},
所以我的猫在链接对象中。但我无法访问它们。
我试过这个:
{{ $link->cats->cat_name }}
但是我收到了这个错误:
Undefined property: Illuminate\Database\Eloquent\Collection::$cat_name
我做错了什么?
提前感谢您的帮助!
答案 0 :(得分:3)
答案在错误消息中:您尝试获取集合的$cat_name
属性。
简而言之,问题是:$links->cats
是猫模型的集合。您想获取cat模型的特定实例的名称,而不是集合 - 该集合没有名称。
使用以下内容:$links->cats[0]->cat_name
或迭代集合并依次获取每个名称。