Mahdi
8 ماه پیش توسط Mahdi مطرح شد
1 پاسخ

ذخیره سازی اطلاعات بهمراه فایل

سلام دوستان
من یه فرم دارم که میخوام کاربر داده هایی داخلش وارد کنه، در مرحله آخر با انتخاب چندتا فایل اونها آپلود میشن و در نهایت کاربر با زدن دکمه X داده هاذخیره میشن.
من قسمت انتخاب فایل رو بصورت کامپوننت در vuejs ایجاد کردم و فایل داخل کامپوننت آپلود میشه
مشکل من اینه که اطلاعات فایل باید در یه جدول که با رابطه پلی مرفیک ایجاد شده (fileable) ذخیره بشن ولی قبل از زدن دکمه X داده ای ذخیره نشده که ID اون رو در جدول fileable ذخیره کنم.
لطفا من رو راهنمایی کنید


ثبت پرسش جدید
مهدی نظری
تخصص : توسعه دهنده Front End
@mahdi.nazari 7 ماه پیش مطرح شد
0

سلام دوست من 🖐
امیدوارم حالت خوب و عالی باشی✨

برای ذخیره فایل‌های آپلود شده به همراه داده‌های دیگر در Laravel و Vue.js می‌توانید مراحل زیر را دنبال کنید:

  1. ساخت جدول Fileable: در پایگاه داده‌ای خود، یک جدول برای ذخیره فایل‌ها به همراه رابطه‌ی پلی‌مورفیک با جداول دیگر ایجاد کنید. این جدول می‌تواند مانند جدول files باشد و دارای فیلدهایی مثل file_name (نام فایل)، file_path (مسیر فایل) و ... باشد. همچنین باید فیلد fileable_id و fileable_type را برای رابطه پلی‌مورفیک اضافه کنید تا بتوانید به داده‌های مختلف متصل شوید.

  2. ساخت مدل File: یک مدل به نام File ایجاد کنید که با جدول files مرتبط باشد و از رابطه پلی‌مورفیک fileable به عنوان فایل‌های متصل به داده‌های دیگر استفاده کنید.

  3. Vue.js و آپلود فایل: در Vue.js، برای آپلود فایل‌ها از کتابخانه‌های مثل vue-dropzone یا vue2-dropzone استفاده کنید. با استفاده از این کتابخانه‌ها، کاربران می‌توانند فایل‌ها را آپلود کرده و شما می‌توانید آدرس فایل و سایر اطلاعات مرتبط با فایل را در متغیرهای Vue.js ذخیره کنید.

  4. ذخیره اطلاعات: وقتی کاربران فایل‌ها را آپلود کردند و دیگر اطلاعات را وارد کردند، شما می‌توانید درخواست POST به یک روت Laravel ارسال کنید. در کنترلر مربوط به این روت، اطلاعات فایل‌ها را ذخیره کرده و شناسه ایجاد شده برای هر فایل را در متغیرهای Vue.js ذخیره کنید.

  5. رابطه پلی‌مورفیک: در مرحله قبل شما شناسه‌های فایل‌ها را در متغیرهای Vue.js ذخیره کرده‌اید. حالا با استفاده از رابطه پلی‌مورفیک Laravel، می‌توانید این فایل‌ها را به داده‌های مختلف متصل کنید. به عنوان مثال:

// در کنترلر
$file = new File([
    'file_name' => $fileName,
    'file_path' => $filePath,
]);

$entity = YourModel::find($entityId); // داده مرتبط
$entity->files()->save($file);

در این مثال، YourModel مدل داده‌های مختلف شما است و $entityId شناسه آن داده است. با استفاده از روابط پلی‌مورفیک Laravel می‌توانید فایل‌های آپلود شده را به هر داده‌ای متصل کنید.

  1. نمایش و ویرایش: حالا می‌توانید فایل‌های مرتبط با هر داده را نمایش دهید و اگر نیاز به ویرایش داشتید، از قابلیت‌های ویرایش فایل استفاده کنید.

این مراحل به شما امکان می‌دهند تا فایل‌های آپلود شده را به همراه داده‌های مرتبط با آنها در سیستم خود ذخیره کنید و به راحتی با آنها کار کنید. مهمترین بخش این است که از روابط پلی‌مورفیک Laravel استفاده کنید تا به سادگی به داده‌های مختلف دسترسی داشته باشید.

امیدوارم پاسخم بهت کمک کرده باشه ❤️
موفق و پیروز باشی 🤘🌹


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

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