راکت

ارسال کامل فرم به همراه فایل انتخابی با vue

4 پاسخ

سلام
فرمی که ایجاد کردم یک آرایه برای فیلدهای غیر از فایله و یک آرایه برای فایل های انتخابی :

                for( var i = 0; i < this.images.length; i++ ){
                    let file = this.images[i];
                    formData.append('files[' + i + ']', file);
                }                
                formData.append('estate', JSON.stringify(this.estate));

حالا سمت لاراول که قبلا به این صورت از request اطلاعات رو می گرفتم :
$request->estate->input('title')
به دلیل اینکه برای آپلود فایل نیاز بود از formdata استفاده کنم نیاز بود تا آرایه رو به json تبدیل کنم حالا سمت لاراول وقتی jsondecode می کنم دیگه اون الگوی input رو نمیشناسه راهی هست که مجدد json رو تبدیل به همون الگوی request بکنم یا باید با همون jsondecode کار کنم

مصطفی
مصطفی
@m.fartaj
ثبت پرسش جدید

پاسخ‌ها

4
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

شما

$request->all() 

میگیری چیزی بهت نشون میده؟؟

مصطفی
مصطفی
@m.fartaj

@juza66
به این شکله :

estate: {"estate_facility":["5","14","20","17"],"latitude":36.58355,"longitude":59.18482,"file_code":"200","deal_type":"3","property_type":"4","district":"2","quarter":"6","foundation":"300","age":"2","room_number":"2","title":"22","description":"2222"}

حالا اینو decode که می کنم دیگه اون الگوی قبل رو نداره می خوام اگه بشه همو الگوی قبل :

$request->estate->input('district')

بشه به اطلاعات دسترسی پیدا کرد اگرم نمی شه که هیچی

شاید پاسخ شما همین‌جا باشد

مصطفی
مصطفی
@m.fartaj

بیشتر که تحقیق کردم به این شکل تغییر دادم کد رو و از vue یه اندیس 1 اضافه کردم به فیلدها میرسه ولی اسم فیلد رو هم اضافه می کنم null می ده :

$request->input('estate.1')

و وقتی اسم فیلد هم اضافه می شه نال می شه :

$request->input('estate.1.title')
مصطفی
مصطفی
@m.fartaj

در نهایت json decode کردم و اکی شد :

$data = json_decode($request->input('estate.1'));

ولی اگه راه بهتریم داشت ممنون می شم راهنمایی کنید

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام