【发布时间】:2020-01-25 14:44:33
【问题描述】:
我想做一个查询来获取模型的关系,并通过在我的关系中完成的查询对父模型进行排序,如下所示:
$data = Accommodation::with([ 'accommodationRoomsLimited.discount', 'accommodationRoomsLimited', 'accommodationRoomsLimited.roomPricingHistorySearch' => function ($query) use ($from_date, $to_date) {
$query->whereDate('from_date', '<=', $from_date);
$query->whereDate('to_date', '>=', $to_date);
}])->when($bed_count, function ($q, $bed_count) {
$q->with([
'accommodationRoomsLimited' => function ($q) use ($bed_count) {
$q->where('bed_count', $bed_count);
}
]);
因此,当用户为 i 发送 bed_count 3 时,此查询仅显示 bed_count 为 3 的房间,如果不是,则显示住宿但空房间对象为关系。我希望我的结果是这样的,如果房间没有 3 的 bed_count 住宿,它自己不会在结果中显示。我怎样才能做到这一点?谢谢。
【问题讨论】: