从外键,一对一关系中重新获取数据。 Laravel

时间:2018-01-23 04:01:34

标签: php mysql laravel-5.2

我正在尝试使用一对一关系从外键表中检索值。我定义了两个模型: 1.博客

class Blog extends Model
{
    //
    protected $table = 'blogs';

    public function blog_category()
    {
        return $this->hasOne('App\Blog_Category');
    }
}

2。博客类别

class Blog_Category extends Model
{
    //
    protected $table=('blogs_categories');

    public function blog()
    {
        return $this->belongsTo('App\Blog');
    }


}

我在blogs表中有blogs_categoryid,该表已经从blogs_categories表中引用了id。

我试过以下: {{$ blog-> blogs_categoryid->类别}}

但它正在显示"试图获得非对象的属性"。这里出了什么问题?任何人都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

博客模型内容应该是:

class Blog extends Model
{
    protected $table = 'blogs';

    public function blog_category()
    {
        return $this->hasOne('App\Blog_Category', 'blogs_categoryid');
    }
}

然后在需要查询关系表时使用with

$blog = Blog::with('blog_category')->get(); 
$categoryObject = $blog->blog_category;
$categoryId = $categoryObject->id;