İstek parametremin değerini şu şekilde değiştirmem gerekiyor:
$request->name = "My Value!";
Bu kodu kullanıyorum ama çalışmıyor:
$request->offsetSet('img', $img);
İstek parametremin değerini şu şekilde değiştirmem gerekiyor:
$request->name = "My Value!";
Bu kodu kullanıyorum ama çalışmıyor:
$request->offsetSet('img', $img);
Yanıtlar:
Kullanım merge():
$request->merge([
'user_id' => $modified_user_id_here,
]);
Basit! Tümünü $request->all()başka bir değişkene aktarmaya gerek yok .
Deneyin:
$requestData = $request->all();
$requestData['img'] = $img;
Bunu yapmanın başka bir yolu:
$request->merge(['img' => $img]);
Bunun için @JoelHinz'e teşekkürler.
İç içe geçmiş verileri eklemek veya üzerine yazmak istiyorsanız:
$data['some']['thing'] = 'value';
$request->merge($data);
Request $requestNesne enjekte etmezseniz, bunun yerine genel request()yardımcıyı veya \Request::cepheyi kullanabilirsiniz .$request
RequestL5'in kaynak koduna baktım ve bu yöntemleri görebiliyorum. Teşekkürler.
İsteği özelleştirmeniz gerekiyorsa
$data = $request->all();
alanın adını ve değerini iletebilirsiniz
$data['product_ref_code'] = 1650;
ve sonunda yeni isteği iletin
$last = Product::create($data);
İstekte bir özelliği güncellemeniz gerekirse, Laravel tarafından kullanılan Request sınıfından değiştirme yöntemini kullanmanızı tavsiye ederim.
$request->replace(['property to update' => $newValue]);
Doğrulama, doğrulama için veri değiştirme veya varsayılan verileri (onay kutuları veya diğerleri için) ayarlamak için özel istekler kullanıyorsanız, geçersiz kılma yöntemini kullanın prepareForValidation().
namespace 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'),
]);
}
}
Umarım bu bilgiler birileri için yararlı olur.