یلدا ادامه داره... ❤️ ۴۰ درصد تخفیف همه دورهها
استفاده از تخفیفهابا سلام خدمت دوستان
من برای سرچ در لاراول از پکیجی استفاده نکردم چون فقط یک فیلتر دارم
مشکلم اینجاست که دقیق سرچ نمیکنه مثلا برای سرچ " کتاب پرواز دوران " اگر " کتاب دوران "بزنم چیزی نمیاره
کدم رو هم اینجوری نوشتم
$products=Product::orderby('id' , 'desc')->where('name', 'like', "%".$name."%")->paginate(100);
خوب طبیعیه !!!
% این ها اصلا کاربردشون چیه ؟ این مقاله را بخوانید . mysql داره دنبال کلمه "کتاب دوران" میگرده و به شما خروجی میده . اینها کاملا به هم پیوسته هستند . پس نمیتونه "کتاب پرواز دوران" رو برگردونه
سلام
کلیدواژه ای که دنبالش هستید fuzzy search هست. یک مقدار سرچ کنید تا با کلیت و مفهومش آشنا بشید.
و بعد نگاهی به پکیج های ارائه شده برای پیاده سازی این مبحث توسعه داده شده اند بندازید. احتمالا به شکل کامل نیازتون رو برآورده خواهند کرد.
چند مثال:
https://github.com/mattkingshott/quest
https://github.com/highsolutions/laravel-searchy
$users = Searchy::search('users')->fields('name', 'email')->query('John Smith')
->getQuery()->having('relevance', '>', 20)->get();
لیست پکیج های مرتبط:
https://packagist.org/?query=fuzzy%20search&tags=laravel
سلام به شما دوست عزیز.
تگ input باید به صورت زیر باشد:
<form action="">
<input type="text" name="search" value="{{ request('search') }}">
</form>
کنترلر مربوطه هم به صورت زیر بنویسید:
$products = Product::query();
if ($keyword = request('search')) {
$products->where('name', 'LIKE', "%{$keyword}%");
}
$products = $products->latest()->paginate(100);
موفق باشید.
سلام
علامت درصد باید به ازای هر کلمه گذاشته بشه.یعنی به ازای هر کلمه باید اطرافش علامت درصد باشه.همون فاز به فاز خودمون.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟