title: Laravel Datatable default search is not working with custom filters
body: <p>I am using yajra datatable in laravel.I have implemented the table.It is working fine except search. I have a custom filter too.
  Below code is showing the Datatable initialization and ajax request. User Type Filter is working fine.</p>
  <pre><code>&lt;script&gt;
      $(document).ready(function() {
              var table = $('#dataList').DataTable({
                  processing: true,
                  serverSide: true,
                  ajax: {
                      url: &quot;{{ route('users.user.index') }}&quot;,
                      data: function (d) {
                          d.user_type = $('#user_type_filter').val();
                      }
                  },
                  columns: [
                      {data: 'DT_RowIndex', name: 'DT_RowIndex'},
                      {data: 'name', name: 'name'},
                      {data: 'email', name: 'email'},
                      {data: 'phone', name: 'phone'},
                      {data: 'action', name: 'action', orderable: false, searchable: false},
                  ]
              });
          $('#search-form').on('submit', function(e) {
              table.draw();
              e.preventDefault();
          });            
      } );
  &lt;/script&gt;
  </code></pre>
  <p>Backend index page to filter the user type</p>
  <pre><code>public function index(Request $request)
  {
      /**
       * Ajax call by datatable for listing of the users.
       */
      if ($request-&gt;ajax()) {
          $data = User::with('userType')-&gt;get();
          $datatable =  DataTables::of($data)
              -&gt;filter(function ($instance) use ($request) {                    
                  if ($request-&gt;has('user_type') &amp;&amp; $request-&gt;get('user_type')) {
                      $instance-&gt;collection = $instance-&gt;collection-&gt;filter(function ($row) use ($request) {
                          //return Str::contains($row['phone'], $request-&gt;get('phone')) ? true : false;
                          return $row['user_type_id'] == $request-&gt;get('user_type');
                      });
                  }  
                 if ($request-&gt;input('search.value') != &quot;&quot;) {
                       $instance-&gt;collection = $instance-&gt;collection-&gt;filter(function ($row) use ($request) {
                          return Str::contains($row['name'], $request-&gt;input('search.value')) ? true : false;
                      });
                  }                                      
              })             
              -&gt;addIndexColumn()
              -&gt;addColumn('action', function ($user) {
                  return view('users.datatable', compact('user'));
              })
              -&gt;rawColumns(['action'])
              -&gt;make(true);
          return $datatable;
      }
  
      $user_type = UserType::pluck('user_type','id')-&gt;all();
      $users = User::with('userType')-&gt;paginate(25);
  
      return view('users.index', compact('users','user_type'));
  }
  </code></pre>
  <p>This code is generating the search only on current page.</p>