0
我有以下表格:在关系查询中使用hasManyThrough
users
id|name|username
Areas
id|name
user_area
id|user_id|area_id
Buildings
id|name|area_id
在用户模式我想打电话查询,每一个用户都有自己的指定区域,并分配给他的领域有许多建筑,所以我创建了一个方法查询用户分配建筑物的用户模型。 在应用程序\用户模型:
public function areas()
{
return $this->belongsToMany('App\Area','area_user');
}
public function UserBuildings(){
return $this>hasManyThrough('App\Building','App\Area','user_id','area_id');
}
在应用程序\区域模式:
public function users(){
return $this->belongsToMany('App\User','area_user','area_id','user_id');
}
public function buildings(){
return $this->hasMany('App\Building');
}
在应用程序\建筑模型:
public function areas(){
$this->belongsTo('App\Area');
}
我怎么能结构,用户模型的关系方法获取用户分配的建筑物。
感谢
感谢您的回复,我在我的控制器中尝试了上述查询。错误显示: Symfony \ Component \ Debug \ Exception \ FatalThrowableError(E_ERROR) 调用成员函数getRelationExistenceQuery()null ==================== ===== 试图找出问题的地方,我注意到当我查询指定建筑物ID的区域名称时,显示的错误: >>> App \ Building :: find(1) - > area PHP错误:试图获取第1行的非对象属性 >>> – user2873860
@ user2873860此错误与此代码无关。 –
当我删除代码时,错误消失。所以我认为它是相关的 – user2873860