php - 不应静态调用 Model::update()

标签 php laravel

我正在使用 PHP 和 Laravel 开发一个小项目,我尝试更新我的模型,但我收到一条错误消息:

message "Non-static method Illuminate\\Database\\Eloquent\\Model::update() should not be called statically"

这是我的代码:

AttributeOption::update(array_merge([
                    'sort_order' => $sortOrder++,
                ], $optionInputs), $optionId);

最佳答案

您使用的 update() 有误。

有条件的批量更新:

YourModel::where(/* some conditions */)
    ->update([
      'field1' => 'value1',
      'field2' => 'value2',
      ...
    ]);

无条件批量更新

YourModel::query()
    ->update([
      'field1' => 'value1',
      'field2' => 'value2',
      ...
    ]);

单一模型更新

$model = YourModel::where(/* some conditions */)->first();

$model->update([
  'field1' => 'value1',
  'field2' => 'value2',
  ...
]);

// Only accept fillable fields in the update

$model->fill([
  'field1' => 'value1',
  'field2' => 'value2',
  ...
])->save();

// Disregard fillable fields in the update

$model->forceFill([
  'field1' => 'value1',
  'field2' => 'value2',
  ...
])->save();

关于php - 不应静态调用 Model::update(),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69804562/

相关文章:

mysql - 语法错误或访问冲突 - SQL 查询和 Laravel

php - Laravel 路由到错误的 Controller 方法

PHP PDO fetchAll 然后 json_encode 不起作用

PHP - 使用 get_option 将选项发送到 style.php

php - 奇怪的 cURL 错误 - WHMCS 中的 errno 104(代码 56)

php - 如何在模板页脚中加载脚本 - CodeIgniter

javascript - 在 PHP 代码中调用 HTML 代码

php - laravel 4.2 liebig 包在本地主机上工作但在服务器 cron 作业命令中失败

php - Laravel 5.2 - 通过一个提交请求和带有行号的自定义验证消息将 n 行插入数据库

php - 如何从复选框中的表中读取数据