【问题标题】:Argument 2 passed to Illuminate\Database\Eloquent\Model::update() must be of the type array, string given传递给 Illuminate\Database\Eloquent\Model::update() 的参数 2 必须是数组类型,给定字符串
【发布时间】:2016-04-04 16:06:26
【问题描述】:

在尝试更改用户状态时,我遇到了这个问题。 在路线:

 Route::get('userstatus/{id}/{status}', 'UserController@changeStatus');

在控制器中:

public function changeStatus($id, $status, User $user)
    {

        $user->update(array('status' => $status), $id);

        return redirect('users');


    }

在数据库中,我存储的状态如下: “积极的” “禁止” “抓住” 为什么我会遇到这个问题?有什么解决办法吗?

【问题讨论】:

  • 第二个参数应该是一个数组..我的意思是$id应该是一个数组..但是$id总是一个int/string
  • $user->update(array('status' => $status,'id' => $id));如果我写上面的代码它不会显示错误但数据库没有更新

标签: php laravel status


【解决方案1】:

像下面这样使用它:

$user->where('id', $id)->update(array('status' => $status));

docs

【讨论】:

  • 现在如何结束这个问题
猜你喜欢
  • 2019-03-04
  • 1970-01-01
  • 1970-01-01
  • 2018-03-22
  • 1970-01-01
  • 2018-05-28
  • 2017-12-17
  • 2020-02-23
  • 2020-11-17
相关资源
最近更新 更多