public function getModels($filter = null)
 {
     $models = Role::sortable($this->index_view);
     if ($this->show_trash()) {
         $models = $models->withTrashed();
     }
     if (isset($filter)) {
         foreach ($this->filter_fields as $field) {
             if (trim($filter[$field]) != '') {
                 $values = explode(',', $filter[$field]);
                 $first = true;
                 foreach ($values as $value) {
                     if ($field == 'id') {
                         if ($first) {
                             $models = $models->Where($field, $value);
                             $first = false;
                         } else {
                             $models = $models->orWhere($field, $value);
                         }
                     } else {
                         $value = '%' . $value . '%';
                         if ($first) {
                             $models = $models->Where($field, 'LIKE', $value);
                             $first = false;
                         } else {
                             $models = $models->orWhere($field, 'LIKE', $value);
                         }
                     }
                 }
             }
         }
     }
     return $models;
 }