我是Laravel 5的新手,并且想知道模型对象检索是如何工作的。
例如,我有一个单独的表,由另一个表引用,我想从中获取记录。
Item Table
Category Table
我试图扩展用户模型
Class Item extends Model {
public function getCategory(){
$category = Category::find($this->category_id);
return $category;
}
}
因此,当我尝试访问在视图中检索到的对象时,
{{ $item->getCategory()->name }}
我收到错误
Undefined property: Illuminate\Database\Eloquent\Builder::$name
我做错了什么?这样做的最佳做法是什么?我曾经在Symfony这样做,它的工作原理让我想知道它是如何在Laravel中完成的。
非常感谢任何帮助和意见。
谢谢大家。
答案 0 :(得分:0)
正如文档中所述,我是如何做到的
Class Item extends Model {
public function category()
{
return $this->hasOne('App\Category', 'id', 'category_id');
}
}
以这种方式访问视图中的对象
{{ $item->category->name }}