مصطفی
4 سال پیش توسط مصطفی مطرح شد
4 پاسخ

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

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

                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 کار کنم


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش آپدیت شد
0

شما

$request->all() 

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


مصطفی
@m.fartaj 4 سال پیش آپدیت شد
0

@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 4 سال پیش آپدیت شد
0

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

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

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

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

مصطفی
@m.fartaj 4 سال پیش مطرح شد
0

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

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

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


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

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