尝试从另一个模型访问模型返回null

时间:2017-10-20 12:22:18

标签: laravel laravel-eloquent

我有以下两个模型类:

class CarRequest extends Model
{
    public function model()
    {
        return $this->belongsTo('App\CarModel', 'model_id');
    }

}

class CarModel extends Model
{
    public function brand()
    {
        return $this->belongsTo('App\CarBrand', 'brand_id');
    }
}

class CarBrand extends Model
{
    public function models()
    {
        return $this->hasMany('App\CarModel');
    }
}

汽车要求有汽车型号,汽车型号有汽车品牌。

当我尝试按以下方式访问该品牌时:

$request->model->brand

它返回null,但是

$request->model

正常返回汽车模型。 此外,无需汽车请求直接从模型访问品牌也可以。

我做错了什么?

1 个答案:

答案 0 :(得分:0)

你的模特都很好。

$request->model

这是有效的,因为您按原样使用对象。但是,如果要访问对象的属性,则必须添加括号。

也许试试:

$request->model()->brand

这允许您访问集合模型中的品牌属性。