میلاد بسحاق
4 سال پیش توسط میلاد بسحاق مطرح شد
1 پاسخ

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

با سلام
دوستان عزیز من یک فروشگاه دارم، این فروشگاه مثل دیجی کالا با رفتن به صفحه یک دسته بندی خاص، در یک طرف صفحه فیلترهای اون دسته بندی رو میاره
بصورت زیر :

مثلا تیتر فیلتر هارد هست
بعد ما با استفاده از groupBy میام متغیرهارو نشون میدم، مثلا هرچی 256 گیگ بود رو یکی میکنه

یعنی اینطور میشه :
هارد »
256 گیگ
128 گیگ
64 گیگ

حالا من میخوام مثلا وقتی 256 گیگ انتخاب شد، تمام محصولاتی که 256 گیگ دارن رو نمایش بده
در لحظه مثل دیجی کالا چندین فیلتر رو همزمان انتخاب کرد

پس انتخاب فیلترها، دامنه به شکل زیر میشه :

http://localhost/psnfarsi/public/search/2?filter[11]=22&filter[12]=23&filter[14]=0

ببنید مثلا filter[11]=22 ، مقدار 11 برای سر دسته فیلتر هست (مثلا هارد) و مقدار 22 برای 256 گیگ هست
حالا این 256 گیگ، groupBy شده تمام 256 گیگ هاست

انتخاب فیلتر ها

دیتابیس محصولات :

Schema::create('product_shops', function (Blueprint $table) {
            $table->id();
            $table->string('title');
            $table->string('e_title');
            $table->text('desc');
            $table->text('e_desc');
            $table->integer('cat_id');
            $table->string('pic');
            $table->string('send_time');
            $table->string('e_send_time');
            $table->text('description')->nullable();
            $table->text('e_description')->nullable();
            $table->text('keywords')->nullable();
            $table->text('e_keywords')->nullable();
            $table->integer('active')->nullable()->default(0);
            $table->integer('delete')->nullable()->default(0);
            $table->timestamps();
        });

دیتابیس دسته بندی :

Schema::create('cats', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('e_name');
            $table->integer('parent_id')->nullable()->default(0);
            $table->string('pic_icon');
            $table->string('pic')->nullable();
            $table->string('pic_wide')->nullable();
            $table->text('desc')->nullable();
            $table->text('e_desc')->nullable();
            $table->text('keywords')->nullable();
            $table->text('e_keywords')->nullable();
            $table->integer('active')->nullable()->default(1);
            $table->integer('delete')->nullable()->default(0);
            $table->timestamps();
        });

دیتابیس متغیر ها برای هر دسته بندی: مثل دیجی کالا :

Schema::create('cat_options', function (Blueprint $table) {
            $table->id();
            $table->string('cat_id');
            $table->string('parent_id');
            $table->string('name');
            $table->string('e_name');
            $table->integer('field_type');
            $table->integer('show_in_filter')->nullable()->default(0);
            $table->integer('delete')->nullable()->default(0);
            $table->timestamps();
        });

اینم دیتابیس مقدارهای وارد شده برای هر محصول :

Schema::create('cat_option_data', function (Blueprint $table) {
            $table->id();
            $table->integer('product_id');
            $table->integer('option_id');
            $table->string('data');
            $table->string('en_data');
            $table->integer('checked')->nullable()->default(0);
            $table->timestamps();
        });

@TimeRunner2359
@ashkannazari248
@masoudproton
@milad
@ali.bayat
@Alimotreb
@hesammousavi
@endworld
@code2code
@khanzadimahdi
@info.aligraph
@SeyedMH.Mosavi


ثبت پرسش جدید
رایموند
تخصص : مختصص وردپرس - برنامه نویس لار...
@Raymond 4 سال پیش مطرح شد
0

درود...
این دو پیوند سر بزنید...
https://appdividend.com/2018/05/03/how-to-create-filters-in-laravel/
https://dev.to/stefant123/create-filters-in-laravel-with-oop-best-practices-pm9
در پیوند اول می توانید با با تعریف جدول type مثلا عبارت 256 گیگ محصولات بر اساس همین type فیلتر کنید که نمونه خروجی آن نشون داده...
در پیوند دوم می توانید براساس دسته بندی و برچسب ها محصولات رو فیلتر کنید...


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

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