mikefolu
mikefolu

Reputation: 1333

Laravel - How to Add ALL to select dropdown and allow Filter by All

In my Laravel-5.8, I have this code to filter reports by leave_type using dropdown

Controller:

 $leavetypes = HrLeaveType::where('company_id', $userCompany)->pluck('leave_type_name','id');
 if ($request->isMethod('post'))
 {
    $rules = [
        'leavetype'      => 'required|integer',
    ];
    $this->validate($request, $rules);
    $leave_type_id = $request->input('leave_type_id');
    if ($request->has('search'))
    {
     // select search
     $searchReports = DB::table('hr_leave_types AS lt')
        ->join('hr_leave_type_details AS ltd', 'lt.id', '=', 'ltd.leave_type_id')
        ->where('lt.id', $leave_type_id)
        ->select(
            'lt.leave_type_name',
            'lt.description',
            'ltd.no_of_days',
             )
        ->get();
      return view('report.leavereport',['searchReports' => $searchReports]);
   }
}
   return view('report.leavereport', ['leavetypes' => $leavetypes]);

View Blade:

<form novalidate action="{{route('report.leavereport')}}" method="POST" enctype="multipart/form-data">
<select class="form-control select2bs4" data-placeholder="Select Leave Type" tabindex="1" name="leave_type_id">
  <option value="">Select Leave Type</option>
  @if($leavetypes->count() > 0 ) @foreach ($leavetypes as $ids => $name)
  <option value="{{ $ids }}" {{ request( 'leave_type_id')==$ids ? 'selected' : ''}}>{{ $name }}</option>
  @endforeach @endif
</select>
<button type="submit" class="btn btn-primary btn-sm" name="search" >Search</button>
</form>

From the code, I filter by leavetype

In my view blade, I want the select dropdown to have "ALL" so that I can also display all the records for all leave_types.

How do I achieve this in my view blade and controller?

Thanks

Upvotes: 0

Views: 55

Answers (1)

Anurat Chapanond
Anurat Chapanond

Reputation: 2987

just pass $leavestypes along with $searchReports

return view('report.leavereport',compact('leavetypes', 'searchReports');

Upvotes: 0

Related Questions