2013-08-13 1 views

ответ

3

Вы можете просто извлечь модель и увеличить его :

$model = Some_Model::find($id); 
$model->value += 1000; 
$model->save(); 
+0

Вот мой код обновления 'Inventorie :: update ($ arrinput ['id'] [$ i], array ('q uantity '=>' quantity + '$ arrinput [' q '] [$ i],' cprice '=> $ arrinput [' c '] [$ i],' sprice '=> $ arrinput [' s '] [ $ i])); echo "updated". "
"; ' –

+0

Вы оставили часть' DB :: raw() 'части обновления. Это важно, поскольку в противном случае он будет видеть «количество» как строку, а не имя столбца. Вы хотите, чтобы это '' количество '=> DB :: raw (' количество + '. $ Arrinput [' q '] [$ i]) ' – kodepup

+0

OMG! ты лучший! он работает как магия !!!, огромное спасибо за помощь !!!, могу ли я выполнять другие арифметические функции с помощью того же метода? –

4

Использование красноречивый вы можете написать ваши вопросы следующим образом:

SomeTable::where('id', 1) 
    ->update(array('value', DB::raw('value + 1000'))); 
+0

Вот мой код обновления 'Inventorie :: обновление ($ arrinput [ 'ID'] [$ я], массив ( \t \t \t 'количество' => 'количество + $ arrinput [ 'д'] [$ я], \t \t \t \t 'cprice'=> $ arrinput [ 'с'] [$ я], \t \t \t \t 'Sprice'=> $ arrinput ['s'] [$ i])); \t \t \t \t \t \t \t \t \t эхо "обновленный" "
";. ' –

6

Идеальный способ сделать это, чтобы использовать встроенную функцию Laravel increment

$model = Some_Model::find($id); 
$model->increment('value',1000); 

или

Some_Model::where('id',1)->increment('value',1000); 

документация для того же находится http://laravel.com/docs/queries#raw-expressions