У меня есть запрос:
public function authorize()
{
return true;
}
public function rules()
{
return ['name => 'required'];
}
Я вызвал этот запрос на контроллере в методах store и update. С методом store все в порядке, потому что метод POST. Но в запросе метода update есть PATCH.
Когда я вызываю метод update, я получаю ошибку:
Method App\Http\Requests\EsRequest::add does not exist.
Как я могу это исправить?
Маршруты:
Route::post('/postadd', 'Post\PostController@store')->name('addpost');
Route::patch('/post/update/{id}', 'Post\PostController@update')->name('editpost');
Контроллер:
public function update(EsRequest $request, $id)
{
$post = Post::findOrFail($id);
$request->add(['data' => $request->extra]);
$post->update($request->all());
return back();
}
это неправильно $request->add(['data' => $request->extra]);
Мне нужно добавить в параметры запроса ..
Но он уже присутствует в запросе .... когда вы выполняете dd ($ request-> all ()); это тоже должно быть там ...
В запросе 2 массива: data и extra. Мне нужно записать в столбец даты данных массива дополнительно.
сделайте dd ($ request-> all ()); и вставьте это здесь
Кажется, вы вызываете неправильный маршрут / метод: "EsRequest :: add" не соответствует "EsRequest: postadd" из того, что я вижу






$request поддерживает функции коллекций. Чтобы добавить новый параметр, вы можете просто сделать:
$request['data'] = ['foo' => 'bar'];
или используйте метод сбора как:
$request->put('data', ['foo' => 'bar']);
скопируйте и вставьте сюда весь файл PostController.php, чтобы мы могли его увидеть и помочь вам соответственно.