Laravel关系$ this通过'with'函数访问时返回null

时间:2019-04-22 09:03:05

标签: laravel eloquent

当渴望加载关系时,它返回空数组作为结果,但是在获得结果关系之后,效果很好。

包含函数$ this的内部关系在急于加载时没有属性值。

我试图不加急地加载关系,而$this具有所有属性值。

  • 控制器
$temp = StipendCalcVols::with('stipendCalcTypes')->where('vol_id', 110)->first();
  • 模型
 public function stipendCalcTypes() {
        dd($this); // null attributes
        return $this->hasMany(StipendCalcTypes::class, 'table_id', 'vol_id')
            ->where('stipend_calc_id', $this->stipend_calc_id)->where('table_name', 'volunteers');
    }

$this应该具有属性值。

2 个答案:

答案 0 :(得分:0)

尝试

$temp = StipendCalcVols::where('vol_id', 110)->first();
$temp = $temp->load('stipendCalcTypes');

答案 1 :(得分:0)

尝试一下:

代替:

$this->stipend_calc_id

使用此:

$this->attributes['stipend_calc_id']