【发布时间】:2018-11-02 08:30:48
【问题描述】:
我有两个具有一对多关系的表。
预订 - (id)
booking_tasks - (id, booking_id,user_id)
一个预订有很多任务 一任务一预约
预订模式:
public function tasks() {
return $this->hasMany('App\BookingTask');
}
BookingTask 模型
public function booking() {
return $this->belongsTo('App\Booking');
}
我想获取预订列表, user_id = 2 表示最新的预订任务。我不想检查其他旧的预订任务。
例如:
我想检查 booking_task 的 user_id=2 的最后一条记录是否作为预订。 在示例中最后一个 booking_task 的 user_id = 5。所以它不会作为预订。
我的代码是:
$bookings=Booking::whereHas('tasks',function($q){
$q->where('user_id',2);//this will check whether any of record has user_id =2
})->get();
我也用过这个: 但这不是正确的,
$bookings=Booking::whereHas('tasks',function($q){
$q->latest()->where('user_id',2)->limit(1);//this will check whether any of record has user_id =2 and return latest one.
})->get();
我能解决这个问题吗,我也必须使用 Laravel Eloquent。
【问题讨论】:
-
您找到解决方案了吗?
-
@user9500574 我可以使用“Jonas Staudenmeir”的答案找到一种方法来完成任务,
-
我用了他的解决方案,效果很好,非常感谢
标签: php sql-server laravel-5 eloquent