2013-07-26 3 views
0

У меня есть модель и вы хотите что-то вставить в базу данных.Laravel Eloquent Calculate

Одно из полей следует добавить номер к текущему значению (метка времени)

$purchases = new PurchasesModel($this->connection); 
$purchases->updates_until = 'updates_until + ' . $updates_included_time; 

Это, конечно, не работает, так как я могу это сделать?

Поле updates_until отформатировано как временная метка (но поскольку mysql 4.1 обрабатывается как datetime) в базе данных, $updates_included_time - значение int, которое должно быть добавлено к отметке времени.

ответ

0

Просто используйте increments метод:

PurchasesModel::where('id', '=', 1) 
       ->increment('updates_until', 'INTERVAL ' . $updates_included_time . ' SECOND'); 

Вы можете изменить SECOND к MINUTE, или что-то лучше вам подходит.

+0

Извините, если я немного дамп, но я попробовал: '$ purchase-> updates_until-> increment ('INTERVAL'. $ Updates_included_time. 'SECOND');' но это, похоже, не работает – Michael

+0

Нет, это был мой ошибка на самом деле. Забыл первый параметр. Часть 'updates_until' идет как первый параметр метода' increment'. – rmobis

+0

Hmm still '0000-00-00 00:00:00':/ – Michael