[سؤال]
مرحبا يا شباب. أحاول استيراد ملف excel ، ولكني يظهر لي خطأ يبدأ بأن "فشل تسلسل الإغلاق: التسلسل لـ 'Illuminate \ Http \ UploadedFile' غير مسموح به". لقد جربت بعض استكشاف الأخطاء وإصلاحها ولكني لا أفهم سبب استمرار حدوث هذه المشكلة. هذا هو الكود المصدري الذي أستخدمه للتعامل مع استيراد ملفات Excel.
if($request->hasFile('file')){
$file = $request->file('file')->getRealPath();
\Excel::filter('chunk')->load($file)->chunk(200, function($result) use ($request){
foreach ($result as $item) {
if(collect($item)->has('title') && collect($item)->has('category_id') && collect($item)->has('file')){
Content::create([
'title' => $item->title,
'category_id' => $item->category_id,
'file' => $item->file,
'reference' => $request->input('reference')
]);
}
}
});
return redirect()->back();
}
الرجاء مساعدتي في حل هذه المشكلة.
لا يمكنك تمرير $request
في الإغلاق ، حيث يتم تسلسل ذلك ووضعه في قائمة الانتظار. عليك أن تمرر متغيرات صريحة.
جرب هذا:
if($request->hasFile('file')){
$file = $request->file('file')->getRealPath();
$reference = $request->input('reference');
\Excel::filter('chunk')->load($file)->chunk(200, function($result) use ($reference){
foreach ($result as $item) {
if(collect($item)->has('title') && collect($item)->has('category_id') && collect($item)->has('file')){
Content::create([
'title' => $item->title,
'category_id' => $item->category_id,
'file' => $item->file,
'reference' => $reference
]);
}
}
});
return redirect()->back();
}
شكرا @ patrickbrouwers. هذا أنقذ حياتي: +1:.
شكرا @ patrickbrouwers.
التعليق الأكثر فائدة
لا يمكنك تمرير
$request
في الإغلاق ، حيث يتم تسلسل ذلك ووضعه في قائمة الانتظار. عليك أن تمرر متغيرات صريحة.جرب هذا: