مرضیه
3 سال پیش توسط مرضیه مطرح شد
3 پاسخ

مشکل در روابط در کوئری بیلدر اسپاتی

سلام دوستان
من قصد دارم در بخش محصولات فیلتر جستو قرار بدم
من یسری محصول دارم که یک محصول میتونه برای هم مرد هم زن استفاده بشه مثل شال گردن
من یک تیبل محصول دارم یک تیبل جنسیت
و یک تیبل واسط که ایدی محصول و آیدی جنسیت رو ذخیره میکنم
در حال حاضر میخوام با استفاده از پلاگین کوئری بیلدر اسپاتی از نتایج موجود در تیبل سوم کوئری بگیرم

https://spatie.be/docs/laravel-query-builder


$products = QueryBuilder::for(Product::class)
        ->allowedFilters([
            AllowedFilter::exact('brand', 'brand_id'),
            AllowedFilter::exact('wristlet', 'wristlet_id'),
            AllowedFilter::exact('plate', 'plate_id'),
            AllowedFilter::exact('accuracy', 'accuracy_id'),
        ])
        ->allowedSorts('price','created_at','available_id')
        ->defaultSort('price')
        ->allowedIncludes(['gender.gender_product'])
        ->appends(request()->query());```

gender_product
تیبل واسط من هست من میخوام محصولاتی که ایدی جنسیت اونها مثلا (2) هست رو برام بیاره ولی تمام محصولات رو برام میاره

ثبت پرسش جدید
Sahandi81
تخصص : PHP - Laravel -JS
@sahandi81 3 سال پیش مطرح شد
0

از روابط چرا استفاده نمیکنی ؟
با whereHas کارت راه میفته که !


مرضیه
تخصص : طراح رابط کاربری،برنامه‌نویس
@marziehkhani 3 سال پیش مطرح شد
0

@sahandi81

 if ($request->has('colors')){

            $colorproduct = ColorProduct::with("product")
                ->WhereIn('color_id',explode(',', request()->input('colors')))->get();
            $colorproduct = array_unique($colorproduct->pluck("product_id")->toArray());
            $products = $products
                ->whereIn('id',$colorproduct);
        }

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


Sahandi81
تخصص : PHP - Laravel -JS
@sahandi81 3 سال پیش مطرح شد
0

از قابلیت پجینیشن لاراول استفاده کن.

https://laravel.com/docs/8.x/pagination


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

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