gpt4 book ai didi

mysql - 如何使用带有预加载的 where 条件从第二个模型检索数据

转载 作者:行者123 更新时间:2023-11-29 10:24:13 24 4
gpt4 key购买 nike

我不确定这个问题的标题是否正确。我有两个型号。事件日期预订时段。事件日期与 bookedslotsbookedslots ownsTo eventdates 关系具有 hasMany 关系。

我现在正在运行此查询

Eventdate::select('eventDate','id')
->with(array('slot'=> function($q) use ($userData){
$q->select('id', 'eventdate_id','user_id','slot')->where('bookedFor',$userData[0]->id);
// Here I want to limit the slots(bookedaslot) model that is has event date and also user id.
}))
->with(array('slot.user'=> function($q) use ($userData){
$q->select('id', 'name','profilePic','userName');
}))
->orderBy('created_at', 'asc')->get();

这是我的数据在 mysql 中的样子。

预订了|槽 |事件日期_id

1 |一个 | 1

2 |一个 | 1

2 |乙| 1

当前查询返回全部 3 个,但我只想返回 bookingFor=2 的位置

我怎样才能实现它?先感谢您。

最佳答案

您需要的只是一个 with 子句,然后对用户 ID 进行子查询,例如:

$userId = 2;
Eventdate::with(['slot' => function ($query) use ($userId) {
$query->with('user')->where('bookedFor', $userId)
}])->orderBy('created_at', 'asc')->get();

这只会返回属于 eventdate 的 slots,然后仅选择 bookedFor 与用户 ID 匹配的那些。

关于mysql - 如何使用带有预加载的 where 条件从第二个模型检索数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48595060/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com