Я работаю над школьным проектом, где мы создаем сайт для кинотеатра.В администрации вы можете создавать фильмы, а затем вы можете создавать шоу
У меня есть 2 объекта:
Шоу
$id
$name
$movie
...
$date (when the movie starts)
Фильм
$id
$name
...
$shows
Теперь моя проблема, как на реальном кинотеатре, я хочу, чтобы расписание было с четверга по среду.Но я не получаю право запроса возвращать все фильмы в диапазоне дат:
MovieRepository
$qb = $this->createQueryBuilder('movie')
->innerJoin('movie.shows', 'shows')
->where('shows.date > :thursday')
->andWhere('shows.date < :wednesday')
->setParameters([
'thursday' => $thursday,
'wednesday' => $wednesday
]);
return $qb->getQuery()->getResult();
Запрос просто возвращает фильмы (со всеми их шоу) где 1 или более шоу находятся в диапазоне.
См. здесь (четверг 31.05. и среда 06.06):
, если есть один показ этого фильма в диапазоне дат, всепоказы этого фильма будут показаны
Решено это:
Мне нужно было сделать -> выбрать () ивыбрать столы для стендов.
$qb = $this->createQueryBuilder('movie')
->innerJoin('movie.shows', 'shows');
->select('movie', 'shows')
->where('shows.date > :thursday')
->andWhere('shows.date < :wednesday')
->setParameters([
'thursday' => $thursday->format('Y-m-d H:i:s'),
'wednesday' => $wednesday->format('Y-m-d H:i:s')
])
->orderBy('shows.date', 'ASC')
;