Повторная регистрация на момент внесения изменений

У меня возникла следующая проблема: я создаю проверку сотрудника для регистрации вашего въезда и выезда, я занимаю углерод для получения даты и времени, ранее по школьным правилам я внес изменения в регистрацию процедурой, но это В первый раз, когда я занимаюсь ELOQUENT introducir la descripción de la imagen aquí для выполнения этой операции, он отправляет мне реестр для изменения, и все в порядке, проблема возникает, когда я даю его отправить, и реестр дублируется, создавая новый с дата отправления, и я не знаю почему, я прилагаю код моего контроллера и мой маршрут

public function edit(checadorEmpleado $checadorEmpleado, $id)
{
    $salida = checadorEmpleado::find($id);
    return view('checadorempleado.edit',['salida'=>$salida]);

}

/**
 * Update the specified resource in storage.
 *
 * @param  \Illuminate\Http\Request  $request
 * @param  \App\checadorEmpleado  $checadorEmpleado
 * @return \Illuminate\Http\Response
 */
public function update(Request $request, checadorEmpleado $checadorEmpleado)
{
    $date5=carbon::now();
    $date6=$date5->Format('Y-m-d h:i:s A');

    $checadorEmpleado->id = $request['id'];
    $checadorEmpleado->empleado_id = $request['empleado_id'];
    $checadorEmpleado->hora_entrada= $request['hora_entrada'];
    $checadorEmpleado->hora_salida = $date6;
    $checadorEmpleado->save();
    return redirect('checador');
}

МАРШРУТ Route::resource('checador','ChecadorEmpleadoController'); Route::post('altacheck','ChecadorEmpleadoController@store')->name('altacheck'); Route::get('/modificachecador/{id}','ChecadorEmpleadoController@edit'); Route::POST('modificachecador','ChecadorEmpleadoController@update')->name('modificachecador') ;

Registro duplicado y pero con la modificacion

1
задан 02.12.2019, 17:42
3 ответа

Я вижу какую-то неосновательность в cГіdigo.
Во-первых, давайте видеть mГ©todo edit() и Ваш соответствующий маршрут. В маршруте, у тебя есть один parГЎmetro {id}, что estГЎ ok для, когда например, ты хочешь издать модель с id => 1, ты соглашаешься на uri asГ - /modificachecador/1.

Route::get('/modificachecador/{id}','ChecadorEmpleadoController@edit');

, Но в mГ©todo edit драйвера, estГЎs делая инъекцию 2 parГЎmetros, $checadorEmpleado и $id.

public function edit(checadorEmpleado $checadorEmpleado, $id)
{
    $salida = checadorEmpleado::find($id);
    return view('checadorempleado.edit',['salida'=>$salida]);
}

Это не имеет смысл, если у маршрута есть один parГЎmetro, и застает меня, что ты estГ© функционируя, так как mГ©todo только deberГ, - чтобы быть asГ-:

public function edit($id)
{
    $salida = checadorEmpleado::find($id);
    return view('checadorempleado.edit',['salida'=>$salida]);
}

Потом давайте видеть mГ©todo update(). Проблема, кажется, с одной стороны, в маршруте

Route::POST('modificachecador','ChecadorEmpleadoController@update')->name('modificachecador');

, так как у него нет parГЎmetro {id}, но в mГ©todo update() из драйвера, ты пробуешь делать инъекцию этому parГЎmetro с checadorEmpleado $checadorEmpleado

public function update(Request $request, checadorEmpleado $checadorEmpleado)
{
    $date5=carbon::now();
    $date6=$date5->Format('Y-m-d h:i:s A');

    $checadorEmpleado->id = $request['id'];
    $checadorEmpleado->empleado_id = $request['empleado_id'];
    $checadorEmpleado->hora_entrada= $request['hora_entrada'];
    $checadorEmpleado->hora_salida = $date6;
    $checadorEmpleado->save();
    return redirect('checador');
}

Тогда, хотя не sГ© cГіmo estГЎs посылая request в этот маршрут, я вижу, по крайней мере, двумя возможностями:

  1. Оставляет маршрут, как estГЎ, и взятие она пойдите неудара в лунку в request, чтобы получать модель, которая должна изменять
public function update(Request $request)
{
    $date5=carbon::now();
    $date6=$date5->Format('Y-m-d h:i:s A');

    $checadorEmpleado = checadorEmpleado::find($request['id']);
    $checadorEmpleado->empleado_id = $request['empleado_id'];
    $checadorEmpleado->hora_entrada= $request['hora_entrada'];
    $checadorEmpleado->hora_salida = $date6;
    $checadorEmpleado->save();
    return redirect('checador');
}
  1. , Изменяет маршрут для того, чтобы он имел, как parГЎmetro пойдите модели изменять
Route::POST('modificachecador/{id}','ChecadorEmpleadoController@update')->name('modificachecador');

И в mГ©todo драйвера inyГ©ctasela как зависимость, чтобы получать модель, которая должна изменять

public function update(Request $request, $id)
{
    $date5=carbon::now();
    $date6=$date5->Format('Y-m-d h:i:s A');

    $checadorEmpleado = checadorEmpleado::find($id);
    $checadorEmpleado->empleado_id = $request['empleado_id'];
    $checadorEmpleado->hora_entrada= $request['hora_entrada'];
    $checadorEmpleado->hora_salida = $date6;
    $checadorEmpleado->save();
    return redirect('checador');
}
1
ответ дан 02.12.2019, 20:34

Получив формуляр уже не recibirГ-схватывай инстанцию checadorEmpleado, ademГЎs он не фигурирует как parГЎmetro в твоем файле маршрутов, harГ© adecuacions в тебя cГіdigo

public function update(Request $request)
{
    $data=$request->only(['empleado_id', 'hora_entrada']);
    $data['hora_salida'] = Carbon::now()->format('Y-m-d h:i:s A');
    checadorEmpleado::where('id', $request->get('id'))
        ->update($data)
    return redirect('checador');
}
0
ответ дан 02.12.2019, 20:34

Уже я нашел ошибку, как кажется, у него были какие-то ошибки в функции update, так как он был как save(), но я это сменил на update(), также, что в начало моих переменных я был должен делать метод find() приложенным мой код где hize исправления:

public function update(Request $request, checadorEmpleado $checadorEmpleado)
{
    $date5=carbon::now();
    $date6=$date5->Format('Y-m-d h:i:s A');

    $checadorEmpleado = checadorEmpleado::find($request['id']);
    //$checadorEmpleado->id = $request['id'];
    $checadorEmpleado->empleado_id = $request['empleado_id'];
    $checadorEmpleado->hora_entrada= $request['hora_entrada'];
    $checadorEmpleado->hora_salida = $date6;
    $checadorEmpleado->update();
    return redirect('checador');
}
0
ответ дан 02.12.2019, 20:34

Теги

Похожие вопросы