我正急切地想要建立一种关系:
Album::with('songs')->where('album_id', $albumId)->first();
我在相册中有这种关系:
public function songs() {
return $this->hasMany('Song')->where('rect_id', $this->mes_rect_id);
}
但似乎$ this-> mes_rect_id(这是一个额外的列)完全未定义。怎么来的?
答案 0 :(得分:0)
您的关系需要
return $this->hasMany('Song', 'rect_id', 'mes_rect_id');
hasMany()
(以及所有其他关系方法)已经支持为您的关系提供本地和外键。当急切加载时,在加载模型的属性之前访问关系,因此您不能在where约束中使用$this->mes_rect_id
。