Laravel:添加到列中的现有字段数据

时间:2013-08-13 00:44:41

标签: php mysql orm laravel eloquent

请问如何在eloquent

中表达这个php mysql更新代码
mysql_query("UPDATE `some_table` SET `value` = `value` + 1000 WHERE `id` = 1");

mysql_query("UPDATE `some_table` SET `value` = `value` + $formdata WHERE `id` = 1");

3 个答案:

答案 0 :(得分:17)

执行此操作的理想方法是使用内置的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

答案 1 :(得分:5)

您可以检索模型并将其递增:

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

答案 2 :(得分:5)

使用Eloquent,您可以按如下方式编写查询:

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