Laravel update 更新

方法 1

$model = Model::find($id);
$model->field1 = $value1;
$model->field2 = $value2;
$model->save();

方法 2

Model::find($id)
    ->update([
        'field1' => $value1,
        'field2' => $value2,
    ]);

方法 3

Model::query()
    ->where('id', $id)
    ->update([
        'field1' => $value1,
        'field2' => $value2,
    ]);

三种方法都可以更新数据,如果是你,你会选择哪种方法?或者说哪个方法是性能最好的?


以下为更新内容,揭晓答案:

性能最佳的答案是 3,方法 3 仅生成一条 SQL 如下:

update table set field1=value1, field2=value2 where id = $id;

方法 1,方法 2,都是形成两条 SQL,会多一次查询语句:

select * from table where id = $id limit 1;
update table set field1=value1, field2=value2 where id = $id;
posted @ 2023-03-01 15:07  星云惊蛰  阅读(544)  评论(0)    收藏  举报