Я пытаюсь написать правило валидации в Yii, но не могу сравнить дату с работой. Поиск сообщения об ошибке, если End
не больше, чем 30 дней назад Start
.
public function checkDate($attribute,$params)
{
$duration = strtotime(date('Y-m-d', strtotime($this->Start)) . ' +30 days');
if ($this->End < $duration)
$this->addError('End','30 days or more!');
}
При этом каждый вход выдает сообщение об ошибке. Я использую MySql db, а Start и End имеют формат date
EDIT:
Учитывая ввод в ответах ниже, я попытался
Теперь это даже не отобразит страницу.
$startDate = $this->Start;
$endDate = $this->End;
$interval = $startDate->diff($endDate);
if ($interval < 30)
$this->addError('End','30 days or more!');
и
Это дает ошибку в 100% случаев.
$duration = date('Y-m-d', strtotime($this->Start . '+ 30 days'));
if ($this->End < $duration)
$this->addError('End','30 days or more!');