J'ai besoin de changer la valeur de mon paramètre de demande comme ceci :
$request->name = "My Value!";
J'utilise ce code mais il ne fonctionne pas :
$request->offsetSet('img', $img);
J'ai besoin de changer la valeur de mon paramètre de demande comme ceci :
$request->name = "My Value!";
J'utilise ce code mais il ne fonctionne pas :
$request->offsetSet('img', $img);
Essayez :
$requestData = $request->all();
$requestData['img'] = $img;
Une autre façon de le faire :
$request->merge(['img' => $img]);
Merci à @JoelHinz pour cela.
Si vous voulez ajouter ou écraser des données imbriquées :
$data['some']['thing'] = 'value';
$request->merge($data);
Si vous n'injectez pas Request $request
vous pouvez utiliser l'objet global request()
aide ou \Request::
au lieu de $request
L'objet de requête possède en fait les méthodes replace() et merge(). Je préfère généralement les utiliser. Voir mon commentaire sur la question pour une réponse de l'OS à ce sujet.
Attention, la méthode de remplacement supprime les données de la requête originale, et les remplace par votre tableau. \Symfony\Component\HttpFoundation\ParameterBag ligne 54 public function replace(array $parameters = []) { $this->parameters = $parameters ; }
J'éviterais d'utiliser replace(), cela peut entraîner des bogues très gênants pour votre API.
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.
2 votes
Duplicata possible de Laravel change la valeur d'entrée - la réponse se trouve dans le commentaire de la première question.