我不确定我在这里做错了什么,但在检查编辑是否拥有帖子时,我无法将帖子的$ id传递给表单请求。 “工作”将是一份工作职位。以下是JobsRequest中的逻辑。
public function authorize()
{
$job=Job::find($this->id);
if($job->user_id == Auth::user()->id){
return true;
}else{
return false;
}
以上一直是假的。控制器中的更新方法如下
public function update(JobsRequest $request, $id)
{
$job=Job::find($id);
$job_data=$request->all();
$job->update($job_data);
return redirect('/jobs/'.$job->id.'/edit');
}
答案 0 :(得分:1)
要获取FormRequest
对象中的ID,您需要使用以下内容...
$id = $this->route('id');
答案 1 :(得分:0)
试试这个,它从路由参数中获取id。
public function authorize(){
$job_id = $this->route('id');
$job=Job::find($job_id);
$user = $this->user();
if($job->user_id == $user->id) return true;
return false;
}
答案 2 :(得分:0)
转到AuthServiceProvider.php并编写
$gate->define('show-product',function($user,$product){
return $user->id==$product->customer_id;
});
然后编写你的控制器
$product= Product::find($id);
Auth::loginUsingId(3);
//Auth::logout();
if(Gate::denies('update',$product)){
App::abort('404','Product Not Found');
}
// $this->authorize('update',$product);
return $product->name;
我觉得它运作得很好
答案 3 :(得分:0)
感谢您指点我正确的方向。我从文档中直接得到了..这对我有用。
new[new<=y][bp:length(new)] <- NA
new2 <- na.omit(new)