достаточно сказанный относительно этого предмета, но я не мог сопротивляться для добавления моего собственного ответа. Я полагаю, что самый простой подход
request()->merge([ 'foo' => 'bar' ]);
Можно получить доступ непосредственно к массиву запроса с $request['key'] = 'value'
;
На основе моих наблюдений :
$request->request->add(['variable' => 'value']);
будет (главным образом) работать в POST, ПОМЕЩАТЬ & УДАЛИТЕ методы, потому что существует переданное значение (значения), один из тех _token
. Как пример ниже.
<form action="{{ route('process', $id) }}" method="POST">
@csrf
</form>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
, Но [ниже кода] не будет работать, потому что нет никакого переданного значения (значений), он действительно не добавляет.
<a href='{{ route('process', $id) }}'>PROCESS</a>
public function process(Request $request, $id){
$request->request->add(['id' => $id]);
}
<час> При использовании ДОБИРАЮТСЯ метод, который можно или объявить Запрос и присвоить значение (значения) на нем непосредственно. Как ниже:
public function process($id){
$request = new Request(['id' => $id]);
}
Или можно использовать merge
. Это лучше на самом деле, чем $request->request->add(['variable' => 'value']);
, потому что может инициализировать , и добавляют значения запроса, которые будут работать на все методы (, ДОБИРАЮТСЯ , , POST, ПОМЕСТИЛ , УДАЛЯЮТ )
public function process(Request $request, $id){
$request->merge(['id' => $id]);
}
Тег: laravel5.8.11