Это моя функция добавления в My Controller, здесь мне нужна функция обновления для обновления значений. как я могу поместить коды обновлений здесь. (Мне нужна функция в той же функции AddPermission обновления)Как я могу обновить Мои значения, используя Laravel 5.2
public function addPermission(Request $request, $id, Permission $permission)
{
$this->validate($request, [
'status' => 'required'
]);
$permission = new Permission;
$permission->status = $request->input('status');
$permission->project_id = $id;
$permission->collaborator_id = $request->input('cid');
$permission->save();
return redirect()->back()->with('info','Permission has been added to your Collaborator successfully');
}
обновленный я изменить код следующим образом
public function addPermission(Request $request, $id, $permission = null)//, Permission $permission)
{
$this->validate($request, [
'status' => 'required'
]);
if(is_null($permission)) {
$permission = new Permission;
$msg = 'Permission has been added to your Collaborator successfully';
} else {
$permission = Permission::findOrFail($permission,['id'])->id;
$msg = 'Permission updated successfully';
}
$permission->status = $request->input('status');
$permission->project_id = $id;
$permission->collaborator_id = $request->input('cid');
$permission->save();
return redirect()->back()->with('info', $msg);
вставки данных идут успешно. но обновление не удалось, когда я нажимаю кнопку, чтобы обновить его, как новую запись в БД.
Мое имя таблицы разрешение и иметь эти столбцы
id (autoincrement)
status
project_id
collaborator_id
, как можно исправить эту
новый обновленный
Хорошо это Моя форма
form class="form-vertical" role="form" method="post" action="{{ route('projects.collaborators.permission', $project->id) }}">
<!--<div id="cid" name="cid">{{ $collaborator->user()->first()->id}}</div>-->
<input type="hidden" id="cid" name="cid" value="{{ $collaborator->user()->first()->id }}" />
<div class="form-group{{ $errors->has('status') ? ' has-error' : '' }}">
<label for="status" class="control-label">Choose Permission</label>
<select name="status" id="status">
<option value="">Choose a status</option>
<option value="3">View Only</option>
<option value="2">Edit Tasks</option>
<option value="1">Admin</option>
</select>
@if ($errors->has('status'))
<span class="help-block">{{ $errors->first('status') }}</span>
@endif
</div>
<div class="form-group">
<button type="submit" class="btn btn-default">Create</button>
</div>
<input type="hidden" name="_token" value="{{ csrf_token() }}">
ваша функция добавить работает, но обновление не работает, оно генерируется ошибкой follwing ** Отсутствие необходимых параметров для [Route: projects.collaborators.permission] [URI: projects/{project_id}/permission/{permission_id}]. ** Мои маршруты редактирования ** Маршрут: : post ('projects/{project_id}/permission/{permission_id}', [ 'использует' => 'ProjectCollaboratorsController @ addPermission', 'as' => ' projects.collaborators.permission ',]); ** – Fernando
Мое полное masseage ошибки ** Отсутствие необходимых параметров для [Route: projects.collaborators.permission] [URI: projects/{project_id}/permission/{permission_id}]. (Вид: C: \ Users \ FFr \ Desktop \ c \ resources \ views \ cообщества \ form.blade.php) (Вид: C: \ Users \ Nalaka \ Desktop \ c \ resources \ views \ cообщества \ form.blade. php) ** и мое действие add add: **
Это ошибка, потому что для маршрута редактирования требуются два идентификатора' project_id' и 'permission_id', тогда как в вашей форме вы передаете только' project_id', но не 'permission_id'. –