लार्वेल के स्टोर फ़ंक्शन का उपयोग करके फ़ॉर्म अपलोड और उत्पाद छवि विशेष रुप से प्रदर्शित छवि और अन्य छवियों के रूप में

use App\Productimage;
use App\Products; 
public function store(Request $request)
{
    $featured = $request->featured_image->store('products_featured');
    $product = Products::create([       //uploading successfully
    'name'=>$request->name,
    'featured_image' => $featured,
    ]);
             foreach ($request->photos as $photo) {   //error
        $filename = $photo->store('product_images');
        Productimage::create([
            'product_id' => $product->id,
            'image_name' => $filename,
        ]);
    }
    return back();
}
0
Naren 14 फरवरी 2020, 10:54
अनुरोध निकाय मुद्रित करने का प्रयास करें। शायद $request->photos में एक छवि सरणी नहीं है।
 – 
Akash Kumar Verma
14 फरवरी 2020, 10:57
कृपया डीडी ($ अनुरोध-> फोटो); foreach लाइन से पहले और इसे अपनी पोस्ट में पेस्ट करें
 – 
Foued MOUSSI
14 फरवरी 2020, 10:58
नमस्ते @AkashKumarVerma, dd($request->photos) रिक्त है
 – 
Naren
14 फरवरी 2020, 11:01
मेरा उत्तर जांचें
 – 
Akash Kumar Verma
14 फरवरी 2020, 11:07
आपका सवाल क्या हैं? क्या कोई बग है? आपने इसे डीबग करने का क्या प्रयास किया है?
 – 
Nico Haase
14 फरवरी 2020, 11:11

2 जवाब

सुनिश्चित करें कि $request->photos एक सरणी है और आपका फॉर्म एक multipart/form-data है। आपको अपनी फ़ाइलें अपने ब्लेड से (या जहाँ से भी आप उन्हें भेज रहे हैं) photos[] में भेजने की आवश्यकता है, उदा.

<input type="file" name="photos[]"/>

पीएस - आपकी नियंत्रक विधि में, आपको $request->photos इस तरह $request->file('photos') तक पहुंचना चाहिए। - यह आपकी त्रुटि का कारण नहीं है, लेकिन यदि आप ऐसा नहीं करते हैं, तो आपको फ़ाइल सामग्री के बजाय एक JSON ऑब्जेक्ट मिलेगा।

0
Qumber 14 फरवरी 2020, 11:22

आपके फॉर्म में enctype="multipart/form-data" होना चाहिए और इनपुट प्रकार की फ़ाइल array होनी चाहिए

   foreach ($request->file('photos') as $photo) {   //error
            $filename = $photo->store('product_images');
            Productimage::create([
                'product_id' => $product->id,
                'image_name' => $filename,
            ]);
        }
<form action="" method="post" enctype="multipart/form-data">
<input type="file" name="photos[]"/>

0
Akash Kumar Verma 14 फरवरी 2020, 12:26