Saya ingin menggabungkan permintaan laravel ke nilai baru saat memvalidasi lulus tetapi saya tidak dapat menggabungkan atau mengganti nilai kunci input untuk file input Saya perlu mengubah nilai kunci input untuk menghasilkan filename unik dan menyimpannya di penyimpanan

Di sini kode saya:

public function store(Request $request)
{
    if ($request->hasFile('photo')) {
        $photo = $request->file('photo');

        $filename = sha1(uniqid()) . '.' . $photo->getClientOriginalExtension();

        Storage::disk('photo')->put($filename, $photo->get());

        $request->merge([
            'photo' => $filename,
        ]);
    }

    return $request->all();
}

Hasil yang diharapkan:

[
    'id'    => '60028942359046444097',
    'name'  => 'Mio Akiyama',
    'photo' => '0c7b34056cb58e812376b84279605129b22646c7.jpg',
]

Hasil sebenarnya:

[
    'id'    => '60028942359046444097',
    'name'  => 'Mio Akiyama',
    'photo' => [

    ],
]
1
Panji Setya Nur Prawira 15 Mei 2020, 05:11

1 menjawab

Jawaban Terbaik

Pertama-tama tetapkan larik permintaan ke dalam variabel.

$array = $request->all();

Kemudian, Anda dapat memanipulasi data variabel array tersebut.

$array['photo'] = $filename;

return $array;
1
porloscerros Ψ 15 Mei 2020, 02:40