我有一个看起来像这样的属性模型:
class Property extends Model
{
public function accessUsers()
{
$access_id = $this->access_id
return $this->hasMany('App\User')
->whereHas('access', function ($query) use ($access_id) {
$query->where('id', $access_id);
});
}
}
要明确:Property
有很多User
个。 User
与名为Access
的模型有关系。只有在Access
等于Access.id
Property.access_id
具有依赖关系的用户才会生成此查询
我遇到的问题是在调用$this->access_id
时它返回一个空值(即使存在一个值)。 dd($this)
返回Property
个对象,但属性全为空。我倾向于相信,在代码的这一点上,Eloquent / QueryBuilder还没有查询数据库来检索属性值。
此时是否可以提取值?我可以用不同的方式构建它,这会给我相同的结果吗?我想急切地从控制器加载这些accessUsers()
:Property::with('accessUsers')->get()