Paradox
3 سال پیش توسط Paradox مطرح شد
4 پاسخ

پروژه آموزشی

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

        Schema::create('courses', function (Blueprint $table) {
            $table->id();
            $table->unsignedBigInteger('user_id');
            $table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');

            $table->string('title');
            $table->string('slug')->unique();
            $table->text('description');
            $table->integer('price');
            $table->string('image');
            $table->integer('view_count')->default(0);
            $table->tinyInteger('status');
            $table->timestamps();
        });

حالا سوالی که دارم مثل سایت راکت که فایل های هر دوره رو میزاره این بخش رو نمیدونم چجوری باید ایجاد کرد تو دیتابیس اصلا ماجراش چجوریه
فایل


ثبت پرسش جدید
amir
تخصص : Laravel Developer
@amirshahroudi 3 سال پیش مطرح شد
0

حالا سوالی که دارم مثل سایت راکت که فایل های هر دوره رو میزاره این بخش رو نمیدونم چجوری باید ایجاد کرد تو دیتابیس اصلا ماجراش چجوریه

سلام.اگه منظورت اینه چطور فایل اپلود کنی :
میتونی از طریق پنل ادمینی که طراحی میکنی، فایل هارو با استفاده از فایل منیجیر های موجود دریافت کنی و آدرس فایل آپلود شده روی سرور رو توی دیتابیست ذخیره کنی
بطور مثال یک جدول دیگه تحت عنوان Episode ایجاد کن که رابطه یک به چند با جدول Courses داشته باشه و هر Episode اتریبیوت های خودشو داره مثل شماره اپیزود،آدرس فایل اپیزود و...
وقتی فایل اپیزود در پنل ادمین آپلود شد، ادرس اون فایل رو توی جدول Episode های مربوط به اون Course ذخیره میکنی و از طریق Eloquent میتونی اپیزود های یک دوره رو دریافت کنی

برای بحث آپلود فایل، از Storage میتونی استفاده کنی و با استفاده از temporary url ها به هرفایل لینک ایجاد کنی برای کاربرت


Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
0

@amirshahroudi
ممنون از توضیحاتت
من الان پس نیاز به یه جدول دیگه دارم درسته ؟ که رابطه یک به چند با جدول course ایجاد بشه
بله فایل منیجر اکیه مشکلی نیست

تو اون جدول جدید باید فایل هارو یعنی اپلود کنم ؟این قسمت متوجه نشدم


amir
تخصص : Laravel Developer
@amirshahroudi 3 سال پیش مطرح شد
0

نه ببین خود فایل هارو نیاز نیست داخل دیتابیس ذخیره کنی
فایلهارو مثلا درپوشه ای داخل Storage لاراول با استفاده از File System ذخیره سازی میکنی . آدرس نسبی اون پوشه بعلاوه نام فایل رو داخل جدول مربوط به Episode ذخیره میکنی.
مثلا در داخل پوشه Storage براساس Course و Episode اینطوری فایل هارو ذخیره میکنی

Storage[dir]\app[dir]\public[dir] \[CourseName][dir]\[EpisodeNumber][dir]\[EpisodeFile.mp4]
Storage\app\public\HTML\E01\introduction.mp4

Paradox
تخصص : در حال یادگیری
@paradox 3 سال پیش مطرح شد
0

@amirshahroudi
آموزشی سراغ دارید معرفی کنید؟
اینکه یه جدول دیگه درست کنم و رابطه ایجاد کنم اکیه
ولی هنوز درک نمیکنم چجوری فایل هارو نمایش بدم
یعنی خودم دستی هر لینک تو کد بزارم؟
یا از طریق جدول ایپیزود داینامیک قرار میگیره؟


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

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