2013-02-17 2 views
0

Как я могу сохранить дату создания элемента в таблице HABTM CakePHP, я попытался использовать созданное поле, как это обычно бывает в других таблицах, но это не сработает. Я также попытался сохраненным DATETIME в мой контроллер делает это:Сохранить поле, созданное в таблице HABTM

$data = array ('created' => date ('Y-m-d H:i:s ")); 
$this->model->UpdateAll($data,$conditions); 

Но это не работает, это есть ошибка один SQL в H:I:S

MySQL server version for the right syntax to use near '12:56:32' 

Кто-нибудь знает способ сделать это ?

+0

является '' created' в datetime' в базе данных? – Ross

+0

Да, у меня есть таблица с полем DateTime, как показано в первом уроке cakephp – Martin

ответ

0

Я нашел решение ошибки в базе данных при вставке даты:

$time = "'". date (' Y-m-d H: i: s '). "'"; 
$data = array ('created' => $time); 
$this-> model-> UpdateAll ($ data, $ conditions); 

Но я не нашел решение для автозаполнения создания поля в таблице HABTM

+0

Вы имеете в виду автомагию? 'created' (и' modified') должно быть 'datetime' и' NULL'. Торт сделает все остальное. – Ross

+0

Да, я знаю это, но он не работает в таблице HABTM, когда созданный элемент является неявностью создания родительского – Martin

1

Вы можете создать отдельную модель для вашей таблицы соединений. Например, если у вас есть пользователи модели и сообщения о моделях и сообщениях HABTM пользователей, то у вас также есть столбец пользователей. Вы можете создать модель userposts, присвоить пользовательскую модель нового отношения hasMany userposts и, наконец, от вызова пользователей контроллера:

$data = array ('created' => date ('Y-m-d H:i:s'));
$this->User->UsersPosts->save($data);

+0

Да, я пробую это! :) но у меня есть эта ошибка 'MySQL версия сервера для правильного синтаксиса для использования около '12: 56: 32'' – Martin

+0

Ну, я сделал эту' $ this-> model-> UpdateAll ($ data, $ conditions); ' но это же – Martin

+0

Возможно, что схема вашей базы данных неверна? У вас есть поле DATETIME для 'created' вместо поля DATE? –

Смежные вопросы