我遇到了数据无法存储在数据库中的问题。当我使用save函数更新一个列时,没有错误提示,也没有插入。我没有头绪。帮帮我,兄弟。
我有一个主管表,其中包括id、user_id、name、email、expertise和initial letter列。主键是user_id。
这是我的编辑视图路径
Route::get('supervisor/profile/{id}/edit','UserController@supProfileEdit');这是发布新数据的视图。
Route::post('supervisor/profile/{id}','UserController@supProfileUpdate');刀片是一种形式:
<div class="card">
<div class="card-header bg-primary text-white">Profile</div>
<div class="card-body">
@foreach($supervisor as $data)
<form id="supProfileForm" type="POST" action="{{url('supervisor/profile',$data->user_id)}}"
enctype="multipart/form-data">
@csrf
<div>
<label for="name"> Name : </label>
<input id="name" disabled value="{{$data->name}}">
</div>
<div>
<label for="email">Email : </label>
<input id="email" disabled value="{{$data->email}}">
</div>
<div>
<label class="inline" for="expertise">Expertise : </label>
<input type="text" id="expertise" name="expertise" value="{{$data->expertise}}">
</div>
<div>
<button type="submit" class="btn btn-primary">Update</button>
</div>
</form>
</div>
</div>
@endforeach然后,这是我在控制器中的功能:我只想更新专业知识。
public function supProfileUpdate(Supervisor $supervisor)
{
$this->validate(request(),[
'expertise'=>'required',
]);
$supervisor->expertise = request('expertise');
$supervisor->save();
return redirect()->back();
}发布于 2020-08-23 10:36:58
我认为这个问题是由
Route::post('supervisor/profile/{id}','UserController@supProfileUpdate');其中Supervisor模型主键是id,而您尝试使用user_id键获取它。
因此,我建议您在Supervisor模型中实现getRouteKeyName,如下所示
/**
* Get the route key for the model.
*
* @return string
*/
public function getRouteKeyName()
{
return 'user_id';
}或者在将其发送到表单时使用id。
<form id="supProfileForm" type="POST" action="{{url('supervisor/profile',$data->id)}}"https://stackoverflow.com/questions/63542735
复制相似问题