Php 更新请求时未获取任何用户

Php 更新请求时未获取任何用户,php,laravel,eloquent,Php,Laravel,Eloquent,我想更新用户表中的列。我将一个按钮链接到PUT请求,但我没有从请求中获取用户,我缺少了什么 代码 路线: Route::resource('/admin', 'AdminController')->only(['index','update','destroy'])->middleware('is_admin'); public function update(Request $request, User $user) { $requestData = $request

我想更新用户表中的列。我将一个按钮链接到
PUT
请求,但我没有从请求中获取用户,我缺少了什么

代码

路线:

Route::resource('/admin', 'AdminController')->only(['index','update','destroy'])->middleware('is_admin');  
public function update(Request $request, User $user)
{
    $requestData = $request->all();
    dd($requestData, $user, $user->id);
    // return redirect('/admin');
}
{!! Form::open(['action' => ['AdminController@update', $user->id],'method' => 'POST', 'class'=> 'float-right']) !!}
{{Form::hidden('_method','PUT')}}
{{Form::button('Remove points', ['type' =>'submit', 'class' => 'submit-btn'])}}
{!! Form::close() !!}
array:2 [▼
  "_token" => "5AOzOmyktXUiuW5OJNQbVOuDuFtEWgkH1h1Zocgo"
  "_method" => "PUT"
]
User {#242 ▼
  #fillable: array:6 [▶]
  #hidden: array:2 [▶]
  #connection: null
  #table: null
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: false
  +wasRecentlyCreated: false
  #attributes: []
  #original: []
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #visible: []
  #guarded: array:1 [▶]
  #rememberTokenName: "remember_token"
}
null
控制器:

Route::resource('/admin', 'AdminController')->only(['index','update','destroy'])->middleware('is_admin');  
public function update(Request $request, User $user)
{
    $requestData = $request->all();
    dd($requestData, $user, $user->id);
    // return redirect('/admin');
}
{!! Form::open(['action' => ['AdminController@update', $user->id],'method' => 'POST', 'class'=> 'float-right']) !!}
{{Form::hidden('_method','PUT')}}
{{Form::button('Remove points', ['type' =>'submit', 'class' => 'submit-btn'])}}
{!! Form::close() !!}
array:2 [▼
  "_token" => "5AOzOmyktXUiuW5OJNQbVOuDuFtEWgkH1h1Zocgo"
  "_method" => "PUT"
]
User {#242 ▼
  #fillable: array:6 [▶]
  #hidden: array:2 [▶]
  #connection: null
  #table: null
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: false
  +wasRecentlyCreated: false
  #attributes: []
  #original: []
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #visible: []
  #guarded: array:1 [▶]
  #rememberTokenName: "remember_token"
}
null
查看:

Route::resource('/admin', 'AdminController')->only(['index','update','destroy'])->middleware('is_admin');  
public function update(Request $request, User $user)
{
    $requestData = $request->all();
    dd($requestData, $user, $user->id);
    // return redirect('/admin');
}
{!! Form::open(['action' => ['AdminController@update', $user->id],'method' => 'POST', 'class'=> 'float-right']) !!}
{{Form::hidden('_method','PUT')}}
{{Form::button('Remove points', ['type' =>'submit', 'class' => 'submit-btn'])}}
{!! Form::close() !!}
array:2 [▼
  "_token" => "5AOzOmyktXUiuW5OJNQbVOuDuFtEWgkH1h1Zocgo"
  "_method" => "PUT"
]
User {#242 ▼
  #fillable: array:6 [▶]
  #hidden: array:2 [▶]
  #connection: null
  #table: null
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: false
  +wasRecentlyCreated: false
  #attributes: []
  #original: []
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #visible: []
  #guarded: array:1 [▶]
  #rememberTokenName: "remember_token"
}
null
DD输出:

Route::resource('/admin', 'AdminController')->only(['index','update','destroy'])->middleware('is_admin');  
public function update(Request $request, User $user)
{
    $requestData = $request->all();
    dd($requestData, $user, $user->id);
    // return redirect('/admin');
}
{!! Form::open(['action' => ['AdminController@update', $user->id],'method' => 'POST', 'class'=> 'float-right']) !!}
{{Form::hidden('_method','PUT')}}
{{Form::button('Remove points', ['type' =>'submit', 'class' => 'submit-btn'])}}
{!! Form::close() !!}
array:2 [▼
  "_token" => "5AOzOmyktXUiuW5OJNQbVOuDuFtEWgkH1h1Zocgo"
  "_method" => "PUT"
]
User {#242 ▼
  #fillable: array:6 [▶]
  #hidden: array:2 [▶]
  #connection: null
  #table: null
  #primaryKey: "id"
  #keyType: "int"
  +incrementing: true
  #with: []
  #withCount: []
  #perPage: 15
  +exists: false
  +wasRecentlyCreated: false
  #attributes: []
  #original: []
  #changes: []
  #casts: []
  #dates: []
  #dateFormat: null
  #appends: []
  #dispatchesEvents: []
  #observables: []
  #relations: []
  #touches: []
  +timestamps: true
  #visible: []
  #guarded: array:1 [▶]
  #rememberTokenName: "remember_token"
}
null
TL;博士 将
$user
属性重命名为
$admin

解释 在定义模式时,Laravel只会注入一些模型:

路由必须接受与您尝试注入的属性同名的参数,例如:

PATCH admin\{user}
控制器的方法必须具有同名的属性:

public function update(User $user) { /** **/ }
由于您使用
route::resource('admin',…)
方法定义路由,laravel将自动使用资源的相同名称命名该参数,因此您的路由如下所示:

PATCH admin\{admin}
这就是为什么Laravel不能正确地注入模型,所以它只注入一个空模型(依赖项注入的默认行为是实例化类并注入它)

因此,方法的属性必须命名为
$admin

public function update(Request $request, User $admin) { /** **/ }
这样,Laravel可以看到,这个参数应该由一个加载了URL上给定ID的模型填充。

TL;博士 将
$user
属性重命名为
$admin

解释 在定义模式时,Laravel只会注入一些模型:

路由必须接受与您尝试注入的属性同名的参数,例如:

PATCH admin\{user}
控制器的方法必须具有同名的属性:

public function update(User $user) { /** **/ }
由于您使用
route::resource('admin',…)
方法定义路由,laravel将自动使用资源的相同名称命名该参数,因此您的路由如下所示:

PATCH admin\{admin}
这就是为什么Laravel不能正确地注入模型,所以它只注入一个空模型(依赖项注入的默认行为是实例化类并注入它)

因此,方法的属性必须命名为
$admin

public function update(Request $request, User $admin) { /** **/ }
这样,Laravel可以看到这个参数应该由一个加载了URL上给定ID的模型填充