İ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.