Laravel 5.5 - 嵌套查询和模型关系

时间:2018-02-19 23:24:34

标签: php laravel laravel-5 laravel-5.5

我有4个型号。

  • 用户
  • 装运
  • 状态
  • 状态记录

User.php

public function shipments() {
   return $this->hasMany('App\Shipment', 'from_user_id');
}

Shipment.php

public function statuses() {
   return $this->hasMany('App\StatusHistory', 'model_id');
}

User有很多ShipmentShipment通过Status有很多StatusHistory个实例。

如何在Shipment模型中具有特定ID值的User的所有StatusHistory值获得Eloquent关系?

1 个答案:

答案 0 :(得分:2)

你可以做到

$user = User:find($id);
$shipments = $user->shipments()->whereHas('statuses', function ($query) {
    //Select all the shipments for this user where `StatusHistory` id is 1
    $query->where('id', 1);
})->get();
相关问题