Php 如何查询数据库中的每一天数组中的每一天laravel
我有一个天数数组,我想为该数组中的每个日期查询我的模型,这可以通过for循环和索引实现,但根据拇指规则,我不想在循环中查询,因此是否有任何其他可能检查我模型中的日期,因此我尝试的for循环如下所示:Php 如何查询数据库中的每一天数组中的每一天laravel,php,mysql,laravel,Php,Mysql,Laravel,我有一个天数数组,我想为该数组中的每个日期查询我的模型,这可以通过for循环和索引实现,但根据拇指规则,我不想在循环中查询,因此是否有任何其他可能检查我模型中的日期,因此我尝试的for循环如下所示: $period=CarbonPeriod::create($from\u date,$to\u date); $dates=$period->toArray(); //在这里我循环着这些日子: 对于($t=0;$t其中('room\u id',$room\u id[$i]) ->whereDate(
$period=CarbonPeriod::create($from\u date,$to\u date);
$dates=$period->toArray();
//在这里我循环着这些日子:
对于($t=0;$t其中('room\u id',$room\u id[$i])
->whereDate('from_date','=',$dates[$t])
->get()->sortBy('created_at');
}
我想知道是否有任何方法可以优化上述代码,而不是将其写入循环中。谢谢房间id状况在循环中持续存在&您正在循环日期。所以也许你可以用“或条件”来表示日期,比如:
$room_capacity = Capacity::with('Hotel')
->where('room_id', $room_ids[$i])
->where(function (Builder $query) use ($dates) {
for ($t = 0; $t < count($dates); $t++) {
$date = $dates[$t];
$query->orWhere(function (Builder $query) use ($date) {
$query->whereDate('from_date', '<=', $date)
->whereDate('to_date', '>=', $date);
});
}
})->get()->sortBy('created_at');
$room\u capacity=capacity::with('Hotel')
->其中('room\u id',$room\u id[$i])
->其中(函数(生成器$query)使用($dates){
对于($t=0;$torWhere(函数(生成器$query)使用($date){
$query->whereDate('from_date','=',$date);
});
}
})->get()->sortBy('created_at');
此查询需要的最终信息是什么?容量模型的属性是什么?@JeanMarcos是的,这是我需要的最终数据