0
Я пытаюсь найти временные перекрытия конкретного пользователя, я думаю, что моя логика поймала бы все круги, но это ловится, только если начало ИЛИ конец находится между временными рамками, но ничего не найдено, если оба начинаются и заканчиваются между некоторыми периодами записей!yii критерий условия между датой
$tempModel = clone $this; // clone model
$criteria->addCondition('
(t.user = :user AND (t.startDate >= :start AND t.startDate <= :end))
OR
(t.user = :user AND (t.endDate >= :start AND t.endDate <= :end))
');
$criteria->params = array(
':start' => date('Y-m-d', strtotime($tempModel->startDate)),
':end' => date('Y-m-d', strtotime($tempModel->endDate)),
':user ' => $tempModel->userID ,
);
if(!empty($tempModel->idUserTime)) // dont find updated record
$criteria->addCondition('t.idUserTime != ' . $tempModel->idUserTime);
$criteria->addCondition('t.active = 1'); // if this is an active user time
$hasRecord = Usertime::model()->findAll($criteria);
В чем проблема?
большое спасибо – tinybyte