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的模型填充