【发布时间】:2019-12-03 08:43:10
【问题描述】:
我想让你用 laravel 写这个
SELECT *
FROM instructors_availability
WHERE instructors_availability.id NOT IN (SELECT inAvailabillty_id FROM bookings WHERE bookings.instructor_id = 2)
【问题讨论】:
我想让你用 laravel 写这个
SELECT *
FROM instructors_availability
WHERE instructors_availability.id NOT IN (SELECT inAvailabillty_id FROM bookings WHERE bookings.instructor_id = 2)
【问题讨论】:
假设您的表有模型Booking 用于bookings 和InstructorsAvailability 用于instructors_availability,因为它使用子查询,为了简单起见,您需要运行两个单独的查询:
$inAvailabilltyIds = Booking::where('instructor_id', 2)->pluck('inAvailabillty_id')->toArray();
$instructorsAvailabilities = InstructorsAvailability::whereNotIn('instructors_availability', $inAvailabilltyIds)->get();
您可以使用内置连接功能使其变得复杂,但我相信如果您以这种方式保持简单,则效果最好。
如果您没有模型,请使用带有DB::table('table_name') 语法的简单查询生成器来代替模型。
有道理吗?
【讨论】: