Я новичок в CakePHP, и у меня проблема. Я должен проверить 2 даты (date_start & date_end). Date_end должен быть не менее 30 дней позже даты_старта. Я немного смущен тем, как написать функцию для разницы дат. Я не знаю, какие параметры я должен добавить и как их найти из переменной $ validate. Я также добавил еще одно подтверждение для дат, которое сообщает date_end, должно быть позже даты_старта, и оно работает. Вот это код валидаций:Разница между двумя датами проверки в cakephp
public $validate = array(
'user_id' => array(
'notEmpty' => array(
'rule' => array('notEmpty'),
),
),
'name' => array(
'notEmpty' => array(
'rule' => array('notEmpty'),
),
),
'date_start' => array(
'rule' => 'date',
'message' => 'Enter a valid date'
),
'date_end' => array(
'date' => array(
'rule' => array('date'),
'message' => 'The date must be valid'),
'dates' => array(
'rule' => 'dates',
'message' => 'The end date must be later tha start date'),
),
);
public function dates(){
if($this->data['Lesson']['date_end'] > $this->data['Lesson']['date_start']){
return true;
}
else{
return false;
}
}
public function date_diff($date_start, $date_end){
}
Вы знаете код я должен написать в функции date_diff?
Спасибо!
возможно дубликат (http://stackoverflow.com/questions/676824/how-to- calculate-the-difference-between-two-dates-using-php) – ndm
Нет никакой встроенной функции для сравнения дат, только число equalTo, больше или меньше. Вам нужно будет создать собственное правило проверки, которое может либо сравнить время эпохи, либо объект DateTime. – thepratt
@ndm Это не дубликат, поскольку он хочет сделать это с помощью проверки CakePHP, а не просто сравнивать даты. – thepratt