راکت

پروژه آموزشی

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();
        });

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

ثبت پرسش جدید

پاسخ‌ها

4
amir
amir
@amirshahroudi

تخصص: Laravel Developer

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

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

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

Paradox
Paradox
@paradox

تخصص: در حال یادگیری

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

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

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

amir
amir
@amirshahroudi

تخصص: Laravel Developer

نه ببین خود فایل هارو نیاز نیست داخل دیتابیس ذخیره کنی
فایلهارو مثلا درپوشه ای داخل 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
@paradox

تخصص: در حال یادگیری

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

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

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