我在下表中包含以下字段
管理员表
->id (int)
->name (string)
->status (boolean)
位置表
->id (int)
->name (string
)
我通过数据透视表在这两个表之间有很多联系
admin_locations
->admin_id
->location_id
我的模特
Admin.php
public function locations()
{
return $this->belongsToMany('App\Location', 'admin_location');
}
Location.php
public function admin()
{
return $this->belongsToMany('App\Admin','admin_location');
}
我只想获取状态为1的admin及其关系。我正在使用上面的查询来获取管理位置。如何获取管理员状态为1的管理员位置。
答案 0 :(得分:0)
尝试一下:
public function activeAdmin()
{
return $this->belongsToMany('App\Admin','admin_location')->where('admins.status', true);
}
答案 1 :(得分:0)
在“ Location.php”文件中创建一个Model函数,如下所示:
public function activeAdmins(){
return $this->belongsToMany('App\Admin', 'admin_locations', 'location_id', 'admin_id')->where('admins.status', true);
}