2017-02-07 64 views
-1

我有one-to-onePostCategory之间的关系。让我试着说明专栏。 Post columnsLaravel使用关系检索数据

| id | pr_name | pr_description | ..... | `category_id` 

这里是Category columns

| id | name 

那么我要做的是以下几点。类别已由我定义,并且只有类别名称。我应该使用它的id来检索我的Blade.php文件中的类别名称:$post->category->name。但我收到错误:Trying to get property of non-object。这里是我的模型:邮政的型号

class Post extends Model 
{ 
    public function category() 
    { 
     return $this->hasOne('App\Like','id','category_id'); // 'id' is foreign key, 
                  // 'category_id' is local key 
    } 
} 

分类型号:

class Category extends Model 
{ 
    public function post() 
    { 
     return $this->belongTo('App\Post'); 
    } 
} 
+0

我想你混淆了家长和孩子。这是一对多的关系,因为一个类别可以有多个帖子。表格设计反映了这一点:您在分类表中有类别ID作为外键。 – Shadow

+0

我试过这种关系。但是,我怎么才能得到使用职位的类别的名称。我的意思是:'category - > $ post-> name' –

+0

为什么'category'的模型叫做'Like'? –

回答

0

改变Likecategory。和关系,其中类别hasOne('App\Post')模型belongsTo('App\Category')