CakePHP - Ошибка сохранения поля даты - PullRequest
3 голосов
/ 29 декабря 2011

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

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

[User].[dob]

View

<?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 ]

2 голосов
/ 29 декабря 2011

Эта строка кода сделала для меня чудо -

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

Теперь я могу сохранить данные!

0 голосов
/ 29 декабря 2011

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

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

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

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

...