Как найти доступные даты с помощью запроса

Не могли бы вы помочь мне создать запрос для поиска бесплатных свиданий в Laravel Eloquent.

Итак, у меня есть две модели: Node и Booking. Модели связаны отношениями HasMany

public function dates()
{
    return $this->hasMany(Booking::class, 'object_id', 'nid');
}

Модель бронирования имеет следующую структуру:

| bid | object_id  | checkin    | checkout   |
|  1  | 32         | 2017-04-25 | 2017-04-28 |
|  2  | 32         | 2017-05-01 | 2017-05-09 |
|  3  | 44         | 2017-04-21 | 2017-04-24 |
|  4  | 51         | 2017-05-01 | 2017-05-08 |

Моя цель - найти доступные узлы между заданными датами.

Итак, если я хочу найти одну дату между (например, created_at), это просто:

whereBetween(‘created_at’, [$date1, $date2])

Но как создать поисковый запрос между двумя датами заезда и выезда?

whereRaw( [$date1, $date2]); можно сделать вот так.
user9888683 14.06.2018 15:56
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Поиск нового уровня в Laravel с помощью MeiliSearch и Scout
Laravel Scout - это популярный пакет, который предоставляет простой и удобный способ добавить полнотекстовый поиск в ваше приложение Laravel. Он...
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
Освоение архитектуры микросервисов с Laravel: Лучшие практики, преимущества и советы для разработчиков
В последние годы архитектура микросервисов приобрела популярность как способ построения масштабируемых и гибких приложений. Laravel , популярный PHP...
Как построить CRUD-приложение в Laravel
Как построить CRUD-приложение в Laravel
Laravel - это популярный PHP-фреймворк, который позволяет быстро и легко создавать веб-приложения. Одной из наиболее распространенных задач в...
1
1
51
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Вы имеете в виду что-то вроде этого?

$query->where('checkin','<=', $date)
      ->where('checkout','>=', $date);

Вы также можете добавить его в область видимости: Области запросов Laravel

Ха, ты меня опередил! но это точный способ!

Stefano Groenland 14.06.2018 16:02

Другие вопросы по теме