Как изменить значение параметра запроса в laravel

Вопрос:Мне нужно изменить значение моего параметра запроса, как это. $request->name = "My Value!" Я использую этот код, но не работает. $request->offsetSet('img', $img); Лучший ответ: Попробуйте: $requestData = $request->all(); $requestData['img'] = $img; Другой способ сделать это: $request->merge(['img' => $img]); Благодаря @JoelHinz для этого. Если вы хотите добавить или перезаписать вложенные данные: $data['some']['thing'] = 'value'; $request->merge($data); Если

Вопрос:

Мне нужно изменить значение моего параметра запроса, как это.

$request->name = «My Value!»

Я использую этот код, но не работает.

$request->offsetSet(‘img’, $img); Лучший ответ:

Попробуйте:

$requestData = $request->all(); $requestData[‘img’] = $img;

Другой способ сделать это:

$request->merge([‘img’ => $img]);

Благодаря @JoelHinz для этого.

Если вы хотите добавить или перезаписать вложенные данные:

$data[‘some’][‘thing’] = ‘value’; $request->merge($data);

Если вы не введете объект Request $request, вы можете использовать глобальный request() вспомогательный или Request:: фасад вместо $request

Ответ №1

Используйте merge():

$request->merge([ ‘user_id’ => $modified_user_id_here, ]);

Так просто! Нет необходимости переносить весь $request->all() в другую переменную.

Ответ №2

Если вам нужно настроить запрос

$data = $request->all();

Вы можете передать имя поля и значение

$data[‘product_ref_code’] = 1650;

и, наконец, передать новый запрос

$last = Product::create($data); Ответ №3

Это работает для меня

$request = new Request(); $request->headers->set(‘content-type’, ‘application/json’); $request->initialize([‘yourParam’ => 2]);

проверить вывод

$queryParams = $request->query(); dd($queryParams[‘yourParam’]); // 2 Ответ №4

Я думаю, что это лучший способ ввести ваше значение и ключ в текущем экземпляре запроса

$requestData[‘price’] = $price; Ответ №5

Если вы используете пользовательский запрос для проверки, для замены данных для проверки или для установки данных по умолчанию (для флажков или других), используйте метод переопределения prepareForValidation().

Пространство имен AppHttpRequestsAdminCategory;

class CategoryRequest extends AbstractRequest { protected function prepareForValidation() { if (!$this->get(‘url’)) { $this->merge([ ‘url’ => $this->get(‘name’) ]); } $this->merge([ ‘url’ => Str::slug($this->get(‘url’)), ‘active’ => (int)$this->get(‘active’), ]); } }

Надеюсь, кому-нибудь эта информация пригодится.

Оцените статью
Добавить комментарий