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

php - laravel:come gestire la sovrapposizione del tempo nel database?

La regola per la sovrapposizione temporale è semplice (vedi qui per una completa spiegazione grafica):

start1 < end2   AND   end1 > start2

Quindi la tua domanda può essere:

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