'Without space search result not showing appropriate results in Laravel Query problem

I made query for frontend search in Laravel. When I typing keyword then random result showing then when I press space then showing exact result. How can I get rid of it.

Here is my controller

//Suggestional Search
public function ajax_search(Request $request)
    {
        $keywords = array();
        $products = Product::where('published', 1)->where('tags', 'like', '%'.$request->search.'%')->get();
        foreach ($products as $key => $product) {
            foreach (explode(',',$product->tags) as $key => $tag) {
                if(stripos($tag, $request->search) !== false){
                    if(sizeof($keywords) > 5){
                        break;
                    }
                    else{
                        if(!in_array(strtolower($tag), $keywords)){
                            array_push($keywords, strtolower($tag));
                        }
                    }
                }
            }
        }

        $products = filter_products(Product::query());

        $products = $products->where('published', 1)
                        ->where(function ($q) use($request) {
                            $q->where('name', 'LIKE', '%'. $request->search.'%')
                        ->orWhere('barcode', 'LIKE', '%'. $request->search.'%');
                        })
                    ->limit(15)->get();

        $categories = Category::where('name', 'like', '%'.$request->search.'%')->get()->take(3);

        $shops = Shop::whereIn('user_id', verified_sellers_id())->where('name', 'like', '%'.$request->search.'%')->get()->take(3);

        if(sizeof($keywords)>0 || sizeof($categories)>0 || sizeof($products)>0 || sizeof($shops) >0){
            return view('frontend.partials.search_content', compact('products', 'categories', 'keywords', 'shops'));
        }
        return '0';
    }

Blade page

    <div class="">
    @if (sizeof($keywords) > 0)
        <div class="px-2 py-1 text-uppercase fs-10 text-right text-muted bg-soft-secondary">{{translate('Popular Suggestions')}}</div>
        <ul class="list-group list-group-raw">
            @foreach ($keywords as $key => $keyword)
                <li class="list-group-item py-1">
                    <a class="text-reset hov-text-primary" href="{{ route('suggestion.search', $keyword) }}">{{ $keyword }}</a>
                </li>
            @endforeach
        </ul>
    @endif
    </div>
    <div class="">
        @if (count($categories) > 0)
            <div class="px-2 py-1 text-uppercase fs-10 text-right text-muted bg-soft-secondary">{{translate('Category Suggestions')}}</div>
            <ul class="list-group list-group-raw">
                @foreach ($categories as $key => $category)
                    <li class="list-group-item py-1">
                        <a class="text-reset hov-text-primary" href="{{ route('products.category', $category->slug) }}">{{ $category->getTranslation('name') }}</a>
                    </li>
                @endforeach
            </ul>
        @endif
    </div>
    <div class="">
    

@if (count($products) > 0)
        <div class="px-2 py-1 text-uppercase fs-10 text-right text-muted bg-soft-secondary">{{translate('Products')}}</div>
        <ul class="list-group list-group-raw">
            @foreach ($products as $key => $product)
                <li class="list-group-item">
                    <a class="text-reset" href="{{ route('product', $product->slug) }}">
                        <div class="d-flex search-product align-items-center">
                            <div class="mr-3">
                                <img class="size-40px img-fit rounded" src="{{ uploaded_asset($product->thumbnail_img) }}">
                            </div>
                            <div class="flex-grow-1 overflow--hidden minw-0">
                                <div class="product-name text-truncate fs-14 mb-5px">
                                    {{  $product->name  }}
                                </div>
                                <div class="">
                                    @if(home_base_price($product) != home_discounted_base_price($product))
                                        <del class="opacity-60 fs-15">{{ home_base_price($product) }}</del>
                                    @endif
                                    <span class="fw-600 fs-16 text-primary">{{ home_discounted_base_price($product) }} - SKU: {{  $product->barcode  }}</span>
                                </div>
                            </div>
                        </div>
                    </a>
                </li>
            @endforeach
        </ul>
    @endif
    </div>
    @if(get_setting('vendor_system_activation') == 1)
        <div class="">
            @if (count($shops) > 0)
                <div class="px-2 py-1 text-uppercase fs-10 text-right text-muted bg-soft-secondary">{{translate('Shops')}}</div>
                <ul class="list-group list-group-raw">
                    @foreach ($shops as $key => $shop)
                        <li class="list-group-item">
                            <a class="text-reset" href="{{ route('shop.visit', $shop->slug) }}">
                                <div class="d-flex search-product align-items-center">
                                    <div class="mr-3">
                                        <img class="size-40px img-fit rounded" src="{{ uploaded_asset($shop->logo) }}">
                                    </div>
                                    <div class="flex-grow-1 overflow--hidden">
                                        <div class="product-name text-truncate fs-14 mb-5px">
                                            {{ $shop->name }}
                                        </div>
                                        <div class="opacity-60">
                                            {{ $shop->address }}
                                        </div>
                                    </div>
                                </div>
                            </a>
                        </li>
                    @endforeach
                </ul>
            @endif
        </div>
    @endif


Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source