【发布时间】:2018-03-15 07:15:24
【问题描述】:
数据库结构
用户
- 身份证
- 用户名
- 密码
市区
- 身份证
- 姓名
- area_id
cityarea_user
- 身份证
- cityarea_id
- user_id
地区
- 身份证
- 姓名
我也有添加关系的模型。
用户
public function cityareas()
{
return $this->belongsToMany('App\Cityarea');
}
市区
public function area()
{
return $this->belongsTo('App\Area');
}
public function users()
{
return $this->belongsToMany('\App\User');
}
区域
public function cityareas()
{
return $this->hasMany('App\Cityarea');
}
问题: 如何获取用户所属区域的列表(我尝试使用 pluck)?
我试着做这个:
$users = User::with('cityareas.area')->where('id', $id)->get();
结果是这样的
然后我尝试仅在 area.id 或 area.name 或两者中采摘但不工作... 最好的方法是什么?
【问题讨论】:
-
也添加你的采摘码
-
你需要的输出是什么?
-
你为什么不改用
Areas::with([ 'cityareas.user' => function ($q) use ($id) { $q->where('id', $id); }])->get()呢? (不确定您如何命名这些关系,但关键是您需要经过该区域)