到Laravel中口才的原始SQL

问题描述 投票:-1回答:3

您能帮我将此SQL查询转换为Eloquent吗?

SELECT *
FROM rooms r
WHERE r.id NOT IN (
    SELECT b.room_id FROM bookings b
    WHERE NOT (b.time_to   <= '2019-11-18'
               OR
               b.time_from >= '2019-11-22'))
ORDER BY r.id;

在Laravel中,我有两个模型,RoomBooking。如何用雄辩的WHERE NOT吗?

[您能帮我将这个SQL查询转换为雄辩的吗?SELECT * FROM rooms r WHERE r.id NOT IN(SELECT b.room_id FROM bookings WHERE NOT(b.time_to <='2019-11-18'OR .. 。

sql laravel eloquent
3个回答
1
投票

我假设您的模型在app \ Models文件夹中。


1
投票

您需要相反的条件。代替:


0
投票
$rooms = Room::whereDoesntHave("bookings", function($query) use ($date1, $date2){
                 $query->whereDate("time_to", ">", $date1)
                    ->whereDate("time_from", "<", $date2 );
        })->orderBy("id", "ASC")->get());
© www.soinside.com 2019 - 2024. All rights reserved.