سلام دوستان من میخام یه سایت آموزشی دانلود فایل درست کنم
برای دیتابیس نمیدونم به چه شکل باید باشه
دیتابیس دوره ها رو به این شکل ایجاد کردم
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();
});
حالا سوالی که دارم مثل سایت راکت که فایل های هر دوره رو میزاره این بخش رو نمیدونم چجوری باید ایجاد کرد تو دیتابیس اصلا ماجراش چجوریه
حالا سوالی که دارم مثل سایت راکت که فایل های هر دوره رو میزاره این بخش رو نمیدونم چجوری باید ایجاد کرد تو دیتابیس اصلا ماجراش چجوریه
سلام.اگه منظورت اینه چطور فایل اپلود کنی :
میتونی از طریق پنل ادمینی که طراحی میکنی، فایل هارو با استفاده از فایل منیجیر های موجود دریافت کنی و آدرس فایل آپلود شده روی سرور رو توی دیتابیست ذخیره کنی
بطور مثال یک جدول دیگه تحت عنوان Episode ایجاد کن که رابطه یک به چند با جدول Courses داشته باشه و هر Episode اتریبیوت های خودشو داره مثل شماره اپیزود،آدرس فایل اپیزود و...
وقتی فایل اپیزود در پنل ادمین آپلود شد، ادرس اون فایل رو توی جدول Episode های مربوط به اون Course ذخیره میکنی و از طریق Eloquent میتونی اپیزود های یک دوره رو دریافت کنی
برای بحث آپلود فایل، از Storage میتونی استفاده کنی و با استفاده از temporary url ها به هرفایل لینک ایجاد کنی برای کاربرت
@amirshahroudi
ممنون از توضیحاتت
من الان پس نیاز به یه جدول دیگه دارم درسته ؟ که رابطه یک به چند با جدول course ایجاد بشه
بله فایل منیجر اکیه مشکلی نیست
تو اون جدول جدید باید فایل هارو یعنی اپلود کنم ؟این قسمت متوجه نشدم
نه ببین خود فایل هارو نیاز نیست داخل دیتابیس ذخیره کنی
فایلهارو مثلا درپوشه ای داخل 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
@amirshahroudi
آموزشی سراغ دارید معرفی کنید؟
اینکه یه جدول دیگه درست کنم و رابطه ایجاد کنم اکیه
ولی هنوز درک نمیکنم چجوری فایل هارو نمایش بدم
یعنی خودم دستی هر لینک تو کد بزارم؟
یا از طریق جدول ایپیزود داینامیک قرار میگیره؟
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟