CakePHP - Ошибка сохранения поля даты

У меня проблемы с сохранением моего поля даты в базе данных с помощью CakePHP.

Имя столбца таблицы

[User].[dob]

Посмотреть

<?php echo $this->Form->input('dob', array('type'=> 'date', 'label' => FALSE, 'dateFormat' => 'DMY', 'minYear' => date('Y') - 111, 'maxYear' => date('Y'))); ?>

Я получаю следующую ошибку при отправке формы -

2011-12-29 00:33:57 Отладка: Примечание (8): преобразование массива в строку в [C:\xampp\htdocs\dearmemoir\cake\libs\router.php, строка 1573]

Это поле является частью модели аутентификации пользователя. Есть идеи, что может пойти не так?

2 ответа

Решение

Эта строка кода сделала волшебство для меня -

$this->data['User']['dob'] = date('Y-m-d', strtotime($this->data['User']['dob']));

Я могу сохранить данные сейчас!

Я подозреваю, что вы смотрите не в том месте. Сообщение об ошибке исходит от CakePHP маршрутизации (router.php) - т.е., возможно, URL перенаправления, который вы используете.

Пример кода, который вы даете, выглядит правильно, он почти точно соответствует примеру из кулинарной книги Cake:

echo $this->Form->input('birth_dt', array( 'label' => 'Date of birth', 'dateFormat' => 'DMY', 'minYear' => date('Y') - 70, 'maxYear' => date('Y') - 18 ));

Вы можете добавить в проверку для любых ошибок проверки.

Другие вопросы по тегам