sql >> Database teknologi >  >> RDS >> Mysql

php - laravel :Hvordan håndterer man tidsoverlapning i databasen?

Reglen for tidsoverlapning er enkel (se her for en komplet grafisk forklaring):

start1 < end2   AND   end1 > start2

Så din forespørgsel kan være:

$classRoomCount = ClassRoom::where
(
    function( $query ) use( $startTime, $endTime )
    {
        $query->where( 'start', '<', $endTime )
              ->where( 'end', '>', $startTime); 
    }
)->count();


  1. Brug for en datetime-kolonne i SQL Server, der automatisk opdateres, når posten ændres

  2. Gem alle dataændringer med alle detaljer (som Stackoverflow)

  3. Entity Framework Code Først med SQL Server-synonymer

  4. Hent poster fra én tabel, hvor der ikke er en post i en anden