Laravel根据连接表列的条件获取连接数据



大家好,我正在使用 laravel5.5 我有两个表 用户和服务

用户表

  1. 编号
  2. 名字
  3. 电子邮件
  4. 密码
  5. 地址
  6. 城市
  7. 国家
  8. 邮编

服务表

  1. 编号
  2. User_id
  3. 名字
  4. 描述
  5. 价格

在用户模型中

public function services()
{
return $this->hasMany('AppService');
}

在服务模型中

public function user()
{
return $this->belongsTo('AppUser');
}

现在在控制器中,我需要用户>邮政编码= 20006的所有服务 我怎样才能得到它 我已经在下面的代码中尝试了这个

$services = Service::with('user')->where('user->zipcode', '20006')->get();

但它没有奏效。

提前谢谢。 温馨问候: 阿卜杜拉·沙希德。

$services = Service::with(['user'])->whereHas('user', function($q) {
$q->where('zipcode', '20006');
})->get();

终于明白了

$services = Service::whereHas('user', function($q)use($zipcode) {
$q->where('zipcode' , $zipcode);
})->get();

最新更新