sql >> Database >  >> RDS >> Mysql

Hoe krijg ik resultaten van de zoekopdracht als de geselecteerde datum tussen twee datums ligt?

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

Dus we draaien dit op een bepaalde manier om. We stellen de vraag in waar moet de beschikbaarheid, onbeschikbaarheid, die zich in dit bereik bevinden, worden gevonden. Dus we zoeken naar alle niet-beschikbare records (in zekere zin). We pakken dan alleen gebruikers die geen relaties hebben die aan deze criteria voldoen, door de andere argumenten te gebruiken voor whereHas ( '=', 0 ).

Dus alle gebruikers met deze relatie die in dit tijdsbestek vallen, worden niet geretourneerd, ongeacht hoeveel beschikbaarheidsrecords ze hebben. Als een van hen zich kwalificeert, zullen ze het filter niet halen.



  1. MySQL select-instructie met alias mislukt met kolom niet gevonden

  2. Snapshots van SQL Server-database -1

  3. Hoe de primaire index te hernummeren

  4. Flask-app laadt app.py niet (het opgegeven bestand/pad (app) lijkt niet te bestaan)