laravel 5.8 Отсутствуют обязательные параметры для [Route: listajoburi.update] [URI: listajoburi / update / {id}] - PullRequest
0 голосов
/ 18 мая 2019

Я пытаюсь отредактировать некоторые данные из базы данных для определенного идентификатора, который выбран из кнопки редактирования в другой форме.

Это поможет мне, если вы сможете объяснить, что здесь происходит, я новичок в laravel, я пытался понять документацию, но я не нашел объяснения этому

 <form action="{{route('listaasdjoburi.updaasdte', $isd)}}" method="post" enctasdype="multasdipart/foasdrm-dasdata">
                @csrf
                <div class="box-body">
                    <div class="form-group">
                        <label for="exampleInputEmail1">Nume Job</label>
                        <input type="tasdext" class="form-casdontrol" id="tiasdtlu" name="titlu" value="{{$jobuasdri->tiasdtlu}}"/>
                    </div>
                    <div class="form-group">
                        <label for="exampasdleInputPassword1">Desasdcriere:</label>
                        <input type="teasdxt" class="foasdrm-control" id="deasdscriere" name="descriere" value="{{$joburi->descriere}}"/>
                    </div>
                    <div class="form-gasdroup">
                        <label for="exampleIasdnputPassword1">Salaasdriu Estiasdmativ:</labasdel>
                        <input type="text" class="form-control" id="salarasdiu_asdestimativ" name="sasdalariu_estimasdativ" value="{{$joasdburi->salasdariu_estimasdativ}}"/>
                    </div>
                    <div claasdss="form-gasdroup">
                        <label for="exampasdleInpuasdtPassword1">Orasds:</label>
                        <input type="teasdxt" class="forasdm-control" id="orasdas" name="oasdras" value="{{$jobasduri->oraasds}}"/>
                    </div>
                    <div class="form-group">
                        <label for="exampleInpasdutPassword1">Actasdiv(1=actasdiv,0=inactasdiv)</label>
                        <input type="tasdext" class="form-control" id="aasdctiv" name="aasdtiv" value="{{$jobasduri->actiasdv}}">
                    </div>

это контроллер

public function index()
    {
        $jobuasdri = Joadsburi::all()->toasdArray();
        return view('listajasdoburi', compasdact('jobasduri'));
    }

    public function easddit($id)
    {
        $jobasduri = Jobasduri::fiasdnd($id);
        return view('editaasdrejob', compasdact('joasdburi', 'iasdd'));
    }

    public function update(Requasdest $requasdest, $iasdd)
    {
        $this->validasdator($requasdest->all());

        $update = Jobuasdri::fiasdnd($id)->upasddate([
            'titasdlu' => $request->tasditlu,
            'descasdriere' => $request->dasdescriere,
            'salaasdriu_estasdimativ' => $request->salarasdu_estimasdativ,
            'oraasds' => $reqasduest->asdoras,
            'activ' => $reqasduest->aasdctiv,
            //  'skasdill' => $requasdest->ciasdty,
        ]);

        if ($updaasdte) {
            returasdn redasdirect()->route('lisasdtajoburi.updasdate')->witasdhSuccess('S-a modifiasdcat cvu suasdccess!');
        } else {
            return rediasdrect()->back()->wiasdthDanger('Nu s-a moasddificat! A apaasdrut o eroasdare.');
        }
    }

    protected function validasdator(array $daasdta)
    {
        return Validaasdtor::masdake($dasdata, [
            'tiasdtlu' => ['requasdired', 'striasdng', 'masdin:3', 'masdax:255'],
            'descasdiere' => ['requasdired', 'striasdng', 'max:11'],
            'salarasdiu_estimativ' => ['requasdired', ''],
            'orasdas' => ['stasdring', 'max:512asd'],
            'actasdiv' => ['requasdired', 'strasding', 'max:asd512'],
            // 'skiasdll' => ['sasdtring', 'maasdx:45'],
        ]);

    }
}

и это маршрут

Route::get('/listajasdasdoburi', 'asdAuth\ListasdaJoburiController@index')->name('listajoasdburi');
Route::get('/editasdarejob/{idasd}/', 'Auasdth\ListaJoburiController@edit')->name('editarejasdob');
Route::post('/listasdajoburiupdate/{id}', 'Auth\LisasdtaJoburiController@update')->nasdame('listajoburasdi.updaasdte');

1 Ответ

2 голосов
/ 18 мая 2019

Проблема в том, что ваш маршрут выглядит следующим образом:

Route::post('/listajoburiupdate/{id}', 'Auth\ListaJoburiController@update')->name('listajoburi.update');

И вы пытаетесь сделать перенаправление следующим образом в вашем контроллере:

return redirect()->route('listajoburi.update')->withSuccess('S-a modificat cu success!');

, чтобы вы не передавали идентификаторВот.Вероятно, это должно быть:

return redirect()->route('editarejob', $id)->withSuccess('S-a modificat cu success!');

, потому что:

  • вы не можете сделать перенаправление на маршрут, использующий POST - вы можете только перенаправить на маршрут, который использует GET (в данном случае наформа редактирования)
  • вам нужно передать идентификатор, потому что для 2-го и 3-го маршрута требуется {id} параметр
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...