【问题标题】:Call to a member function update() on null Laravel function在 null Laravel 函数上调用成员函数 update()
【发布时间】:2020-07-21 11:06:19
【问题描述】:

这个函数有什么问题?我在这一行遇到错误:
$user->update($input); 在 null 上调用成员函数 update()

$input = $request->all();

if ($input == NULL) {
    return redirect()->route('users.index');
}

else {
    
    $user = User::find($id);
    
    $user->update($input);
    
    DB::table('model_has_roles')->where('model_id', $id)->delete();
    
    $user->assignRole($request->input('roles'));
    
    return redirect()->route('users.index')
        ->with('success', 'User updated successfully');
    
}

【问题讨论】:

  • 显然找不到具有该 ID 的用户。如果找不到,您可以使用findOrFail() 而不是find() 执行404。
  • 错误告诉你,你在一个空对象上调用->update,所以$user是空的,所以User::find($id);返回null,所以没有@的用户987654329@

标签: php laravel function frameworks


【解决方案1】:

您可以检查用户是否有一些数据。或者你可以findOrFail() 而不是find()

$input = $request->all();

if ($input == NULL) {
    return redirect()->route('users.index');
}

else {
    
    $user = User::find($id);
    if ($user) {
        $user->update($input);
        
        DB::table('model_has_roles')->where('model_id', $id)->delete();
        
        $user->assignRole($request->input('roles'));
    }
    
    return redirect()->route('users.index')
        ->with('success', 'User updated successfully');
    
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-10-04
    • 2021-08-07
    • 1970-01-01
    • 2016-09-04
    • 2016-06-29
    • 2018-04-03
    • 2021-10-06
    相关资源
    最近更新 更多