راکت

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

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.'%');
                    });
            }
ثبت پرسش جدید

پاسخ‌ها

2
میلاد خسروی
میلاد خسروی
@milwad

تخصص: برنامه نویس بامزه

سلام خسته نباشید
برای بهتر جستجو کردن پکیج و 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

تخصص: برنامه نویس وب

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

شاید پاسخ شما همین‌جا باشد

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

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