Как изменить значение параметра запроса в 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 $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().

Пространство имен App\Http\Requests\Admin\Category;

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'),
]);
}
}

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

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