因此,我有一個表中的tm_timekeep(id(pk),開始(varchar),結束(varchar))[和它的模型]在數據庫中的HH:MM格式的一些時間間隔。例如:如何檢查時間間隔是否在Laravel 4.2/php中重疊?
id|start|end |
---------------
0 |10:00|10:30|
1 |11:23|11:55|
2 |13:15|15:39|
我想要插入新行並修改現有的行,如果沒有間隔之間的重疊。 如果我想添加爲間隔11:57-12:40會好的,但09:00-10:20不會因10:00-10:30而更新,這與更新行相同。如果我想更新一行,我需要一個函數在修改行之前檢查條件。我應該怎麼做? 我當前的代碼片段:
public function checkInterval($start, $end){
$counter = 0;
$timekeepArray = Timekeep::all();
$start = date('H:i',Input::get('start'));
$end = date('H:i',Input::get('end'));
foreach($timekeepArray as $timekeep)
{
if($start <= $timekeep->end && $end>=$timekeep->start){
counter++; //in range
}
return counter;
}
}
在此之後我檢查計數器的值,但我的問題是,我總是得到0,即使有來自輸入的重疊。