我希望我的管理员用户能够批准一个jobpost 所以我在jobposts控制器中定义了一个方法,如下所示:
public function approved(Request $request, JobPost $jobpost)
{
//save
$approved = JobPost::where('id', $jobpost->id)->update([
'approval'=> $request->input('approved')
]);
if($approved)
{ $user = auth()->user();
$jobposts = auth()->user()->JobPosts;
$company = auth()->user()->company;
return view('/JobPosts/admin/WaitingJobPosts',[
'jobposts' => $jobposts,
'company' => $company,
'user' => $user,
]);
}
然后我在web.php中为它定义了一个溃败:
Route::patch('jobposts.approval/approved', [
'as'=>'jobposts.approved',
'uses'=> 'JobPostsController@approved'
]);
在我看来,我已经定义了一个这样的表格:
<form method="post" action="{{route('jobposts.approved', [$jobpost-> id])}}">
<input type="hidden" name="_method" value="patch">
<input type="hidden" name="approved" value="1">
{{--<form method="post" action="{{route('jobposts.approved', [$jobpost])}}">--}}
{{csrf_field()}}
<div class="form-group">
{{--<input type="hidden" value="1" name="approval"/>--}}
<button type="submit" class="btn btn-block btn-success">تایید</button>
</div>
</form>
它返回一个空白页面,不会更改作业发布的批准列值。返回的网址是:http://127.0.0.1:8000/jobposts.approval/approved? 3 我对laravel有点新意。请帮助。
答案 0 :(得分:0)
如果审核失败,您未在return view('/JobPosts/admin/WaitingJobPosts'...
操作中返回回复,因此您需要返回视图或某种响应。
此外,$jobpost
似乎不正确,因为您必须在Laravel中以点表示法提供视图,而不是视图的实际路径。
您正在键入提示作业帖子,因此无需运行查找查询。您只需使用Route::patch('jobposts/{job_post}/approved', 'JobPostsController@approved')->name('jobposts.approved');
变量即可。
其次,您的路线似乎不正确。将其更改如下
<form method="post" action="{{ route('jobposts.approved', ['job_post' => $jobpost])}}">
{{ csrf_field() }}
{{ method_field('PATCH') }}
<input type="hidden" name="approved" value="1">
<div class="form-group">
<button type="submit" class="btn btn-block btn-success">تایید</button>
</div>
</form>
最后,这是表格。
{{1}}