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

Arr*_*Yor 6 php mysql orm laravel eloquent

请问如何在eloquent中表达这个php mysql更新代码

mysql_query("UPDATE `some_table` SET `value` = `value` + 1000 WHERE `id` = 1");
Run Code Online (Sandbox Code Playgroud)

要么

mysql_query("UPDATE `some_table` SET `value` = `value` + $formdata WHERE `id` = 1");
Run Code Online (Sandbox Code Playgroud)

Abi*_*hek 20

这样做的理想方法是使用内置的Laravel功能 increment

$model = Some_Model::find( $id );
$model->increment('value',1000);
Run Code Online (Sandbox Code Playgroud)

要么

Some_Model::where('id',1)->increment('value',1000);
Run Code Online (Sandbox Code Playgroud)

相同的文档位于http://laravel.com/docs/queries#raw-expressions


小智 7

您可以检索模型并对其进行递增:

$model = Some_Model::find( $id );
$model->value += 1000;
$model->save();
Run Code Online (Sandbox Code Playgroud)


Rub*_*zzo 7

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

SomeTable::where('id', 1)
    ->update(array('value', DB::raw('value + 1000')));
Run Code Online (Sandbox Code Playgroud)