bsv писал(а):
Такая проблема:
в модели Users создал дополнительное поле:
Код:
`birthDate` date DEFAULT NULL
Не в модели, а в схеме таблицы.
В модели у вас может быть быть записано так:
Код:
protected $_table_columns = array(
'id' => array('type' => 'int'),
...
'birthDate' => array('type' => 'int'),
...
);
Это раз.
Во вторых, в таблице тогда пишите так:
Код:
CREATE TABLE `users` (
`id` INT(11) UNSIGNED NOT NULL AUTO_INCREMENT,
...
`birthDate` INT(11) NOT NULL DEFAULT '0',
...
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
Далее..
Цитата:
Если данных по `birthDate` нет, то хочу записать 'NULL'...
Если данных по `birthDate` нет, то
писать ничего не надо!
Цитата:
В модели сохраняю данные:
Код:
...
$user->birthDate = ($data['birthDate']) ? $data['birthDate'] : NULL;
$user->save();
...
Тут например в БД пишется $birth_date, которая в вашем случае могла быть такой — 1340892242:
Код:
$birth_date = (isset($data['birthDate']) AND ! empty ($data['birthDate'])) ? $data['birthDate'] : NULL;
if($birth_date != NULL)
{
$user->birthDate = $birth_date;
}
Показать в удобоваримом виде такую дату можно так:
Код:
date($format, $timestamp);
Под $format можно завести в конфиге строку, типа такой: "j, n, Y" и читать это оттуда:
Код:
date(Kohana::$config->load('site.dateformat'), $timestamp);
Где site — имя вашего файла с конфигами, dateformat — формат даты, о котором вы прочтёте тут:
http://www.php.net/manual/ru/function.date.php, ну а $timestamp в этом примере, это то самое пресловутое 1340892242, которое мы сохранили в таблицу. По моему всё элементарно, ватсон
В общем я всё усложнил специально, чтоб показать вам, насколько многогранно может быть решение. Я вообще не вижу никакой сложности у вас. В чём проблема то? Или забыли, что NULL это тоже значение, которое всегда будет isset?