Yagatekimi
Yagatekimi

Reputation: 1

Filter field returns all records when search is empty

When I don't insert anything in the search field, all the records in my table return, I don't want that to happen, how can I do so that it doesn't return any results if $search = $request->input('search'); is empty?

    public function search(Request $request)
    {
        $search = $request->input('search');
        $client = ClientModel::where('name','LIKE',"%{$search}%")->get();
        return view('search', compact('client'));
    }

How to solve this problem?

Upvotes: 0

Views: 335

Answers (2)

Vaibhav Harsoda
Vaibhav Harsoda

Reputation: 11

public function search(Request $request)
    {
        $search = $request->input('search');
        if(!empty($search)){
          $client = ClientModel::where('name','LIKE',"%{$search}%")->get(); 
          return view('search', compact('client'));
        }else{
           $client = [];
           return view('search', compact('client'));
        }
    }

Upvotes: 1

Muhammad Saim
Muhammad Saim

Reputation: 73

    public function search(Request $request)
    {
        $client = array();
        if($request->filled('search')){
          $search = $request->input('search');
          $client = ClientModel::where('name','LIKE',"%{$search}%")->get(); 
        }
        return view('search', compact('client'));
    }

Please use fillled method to check the data present in the GET Super Global variable if data is there then run your query otherwise return an empty array.

Thanks

Upvotes: 0

Related Questions