مهرداد
4 سال پیش توسط مهرداد مطرح شد
2 پاسخ

نمایش پر فروش ترین محصولات در صفحه اصلی سایت

سلام من میخام پرفروش ترین دوره های آموزشی رو توی صفحه اصلی سایم نمایش بدم دوتا جدول دارم به این صورت

        Schema::create('orders', function (Blueprint $table) {
            $table->id();
            $table->foreignId('user_id')->constrained('users')->cascadeOnDelete();
            $table->string('code')->nullable()->unique();
            $table->bigInteger('price');
            $table->enum('status' , ['fail'  ,'success' , 'pending' , 'canseled']);
            $table->timestamps();
        });

        Schema::create('order_course', function (Blueprint $table) {
            $table->foreignId('order_id')->constrained('orders')->cascadeOnDelete();
            $table->foreignId('course_id')->constrained('courses')->cascadeOnDelete();

        });

رابطه بین کورس و اوردر هم چند به چند هستش حالا میخام دوره های که فروش بیشتری داشته از نظر تعداد سفارش اون دوره رو بگیرم نمایش بدم واقعا هرچی کوئری زدم در نیومد کار شما برا این موضوع میونید کمک کنید ؟


ثبت پرسش جدید
علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش آپدیت شد
2

جدول چند به چند داری دیگه
که id دوره و id سفارش توش ثبت میشه
میتونی از همین جدول و متد withCount الکوئنت استفاده کنی

Course::withCount('orders')->get()

Armin Rahmati
@arminrahmati999 4 سال پیش مطرح شد
0

سلام.
شما باید داخل جدول orders یه متغیر مثلا به اسم

buyCount

تعریف کنید، بعد در هر خرید کاربر، این مقدار رو افزایش بدین.


علی بیات
تخصص : توسعه دهنده ارشد وب
@ali.bayat 4 سال پیش آپدیت شد
2

جدول چند به چند داری دیگه
که id دوره و id سفارش توش ثبت میشه
میتونی از همین جدول و متد withCount الکوئنت استفاده کنی

Course::withCount('orders')->get()

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

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