<?php
$results = DB::table('table')
->where(function($query) use ($starttime,$endtime){
$query->where('starttime', '<=', $starttime);
$query->where('endtime', '>=', $endtime);
})
->orWhere(function($query) use ($otherStarttime,$otherEndtime){
$query->where('starttime', '<=', $otherStarttime);
$query->where('endtime', '>=', $otherEndtime);
})
->orWhere(function($query) use ($anotherStarttime,$anotherEndtime){
$query->where('starttime', '>=', $anotherStarttime);
$query->where('endtime', '<=', $anotherEndtime);
})
->get();