sql >> Databasteknik >  >> RDS >> Mysql

Hur får man resultat från frågan om det valda datumet ligger mellan två datum?

User::whereHas('availabilities', function ($q) use ($dt) {
    $q->where('unavailable_start_date', '<=', $dt)
      ->where('unavailable_end_date', '>', $dt);
}, '=', 0)->get();

Så vi vänder på det här på ett sätt. Vi ställer in frågan inuti whereHas för att hitta tillgängligheten, otillgängligheten, som finns i det här intervallet. Så vi frågar efter alla otillgängliga poster (på ett sätt). Vi tar då bara tag i användare som inte har relationer som matchar detta kriterium, genom att använda de andra argumenten till whereHas ( '=', 0 ).

Så alla användare som har denna relation som faller inom denna tidsram returneras inte, oavsett hur många tillgänglighetsposter de har. Om någon av dem kvalificerar sig kommer de inte att ta sig igenom filtret.



  1. Hur skapar man en array från denna resultatuppsättning (kapslade kategorier lagrade i en databas med genomgångsmodell)?

  2. SQL-sats för att få datumet om 2 dagar från nu

  3. mysql VAR MATCH MOT

  4. ORA-30926:kan inte få en stabil uppsättning rader i källtabellerna när tabeller slås samman