私のDBには2つのテーブルがあります。予約&週間。予約は週と1対多の関係にあります。週の中へコレクションの最初のアイテムをDQLに取得する方法
私が持っている「開始」と「終了」の両方の日時
私は45日未満で起動すべての予約(編集)を選択したいと思いますが、私は見つけることができませんこれを実現する方法。
は、ここで私が書いたものだ:b.weeksが集まりですので
$bookings = $doctrine->getRepository('MyBundle:Booking')
->createQueryBuilder('b')
->where('DATE_DIFF(CURRENT_DATE(), b.weeks) <= 45')
->getQuery()->getResult();
はもちろん、これは動作しません。 「週」の代わりに、私は最初の週(一番低い「開始」の週)を取得する必要があります。
どうすればよろしいですか?
PS:私はのfindAllを行い、その後、以上20.000予約がデータベースに存在するため、フィルタリングすることはできません....
getFirstResult()はあなたのケースに合っていませんか? – Freelancer
いいえ、私は日付とコレクションの間にdate_diffを行うことができるので、今、このクエリは例外をスローします。 – CyrilleGuimezanes