محمد امین عالی
2 سال پیش توسط محمد امین عالی مطرح شد
2 پاسخ

جستجوی بهتر در نام محصولات

سلام دوستان من یه جستجو ساده برای محصولات در سایتم نوشتم اما به مشکلی که خوردم در این هستش که من یه محصول به نام "سپر مشکی عقب کویئک" دارم و وقتی مینویسم سپر عقب کویئک همه ی محصولاتی که مربط به سپرء عقب و کویئک هستش پیدا میکنه به غیر از سپر مشکی کویئک!
و این هم بگم که بصورت api هستش و با lumen نوشته شد.
اینم کد هام هست:

foreach (explode(' ' , $keyword) as $str) {
                $query->where('name', 'LIKE', "%{$str}%")
                    ->orWhere('tags', 'LIKE', '%' . $str . '%')
                    ->orWhereHas('stocks', function ($q1) use ($str) {
                        $q1->where('sku', 'LIKE' , (string)$str.'%');
                    });
            }

ثبت پرسش جدید
میلاد خسروی
تخصص : برنامه نویس بامزه
@milwad 2 سال پیش مطرح شد
0

سلام خسته نباشید
برای بهتر جستجو کردن پکیج و elasticserarch هست ولی کدی که من خیلی وقت پیش نوشتم برای سرج این جوری بود

    public function search(Request $request)
    {
        $search = $request->input('search');
        $posts = Post::query()
            ->where('title', 'LIKE', "%{$search}%")
            ->orWhere('description', 'LIKE', "%{$search}%")
            ->get();
        $portfolios = Portfolio::query()
            ->where('title', 'LIKE', "%{$search}%")
            ->orWhere('description', 'LIKE', "%{$search}%")
            ->get();
        $products = Product::query()
            ->where('title', 'LIKE', "%{$search}%")
            ->orWhere('description', 'LIKE', "%{$search}%")
            ->get();
        return view('Home::Fa.search.index' , compact(['search' , 'posts' , 'portfolios' , 'products']));
    }

مهدی عقیقی
تخصص : برنامه نویس وب
@MehdiAghighi 2 سال پیش مطرح شد
0

سلام
برای جستجو بهتره از پکیج زیر استفاده کنید.
https://github.com/spatie/laravel-searchable


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

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