İkinci hatada $category değişkenine veri gelmediğini söylemek istiyor.

search.blade.php dosyasında "category" değişkenini kullandığınız yerleri bulun yazım hatalarını bir check edin.

Olmadı ordan dönün bu view'i hangi controller'dan besliyorsanız orada $category değişkeninin boş dönüp dönmediğini, veya bir hata ile dönüp dönmediğini dd($category); ile yazdırıp bir check edin.

Eğer boş dönmüyorsa tek ihtimal kalıyor;

Search.blade.php 'ye yönlendiren fonksiyonda compact ile blade'e aktarım yaparken $category değişkenini göndermeyi unutmuşsundur.

return view('search', compact('$değişken1','$değişken2','$category));

Değişken1 - değişken2 diye örnek olarak yazdım tek bir değişkende gönderiyor olabilrisiniz. Ancak compact olarak gönderiyor olmanız lazım $category değişkenini.

Eğer category boşta gidebilir derseniz bir if ile değişkeni kontrol edip ona göre null olarak atama yaparsınız öyle compact ile gönderirsiniz.

Umarım açıklayıcı olmuştur,

Kolay gelsin.