My controller is as below:
public function update(PermissionFormRequest $request,$id)
{
$permissionUpdated = $this->permission->update($request,$id);
if($permissionUpdated){
//return $permissionUpdated;
return 'updated';
}
return response()->json(['message' => 'Can not update ticket']);
}
Form request code is:
public function rules()
{
return [
'name' =>'required|unique:permissions,name,'.$this->id,
];
}
When trying to update with same id, an error is thrown as:
{"name":["The name has already been taken."]}
To get the id in the Request
you can use the route()
method. Keep in mind that use parameter name in route('id')
which is used in your routes.php
file!
public function rules()
{
$id = $this->route('id'); //or whatever it is named in the route
return [
'name' =>'required|unique:permissions,name,'.$id,
];
}
Hope this helps!