italia Come modificare il valore di un parametro di richiesta in laravel



laravel nova (5)

Funziona per me

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

controlla l'output

$queryParams = $request->query();
dd($queryParams['yourParam']); // 2

Devo modificare il valore del mio parametro di richiesta in questo modo.

$request->name = "My Value!"

io uso questo codice ma non funziona.

$request->offsetSet('img', $img);

Answer #1

Se si utilizza la richiesta personalizzata per la convalida, per sostituire i dati per la convalida o per impostare i dati predefiniti (per caselle di controllo o altro), utilizzare il metodo di sostituzione prepForValidation ().

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

Spero che qualcuno possa essere utile questa informazione.


Answer #2

Se è necessario personalizzare la richiesta

$data = $request->all();

puoi passare il nome del campo e il valore

$data['product_ref_code'] = 1650;

e infine passa la nuova richiesta

$last = Product::create($data);

Answer #3

Usa merge() :

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

Così semplice! Non è necessario trasferire l'intera $request->all() su un'altra variabile.


Answer #4

Penso che questo sia il modo migliore per inserire il valore e la chiave nell'istanza della richiesta corrente

$requestData['price'] = $price;




laravel