applyCriteria() public method

public applyCriteria ( )
 public function findWhereFirst($where, $columns = ['*'], $or = false)
 {
     parent::applyCriteria();
     $model = $this->model;
     foreach ($where as $field => $value) {
         if ($value instanceof \Closure) {
             $model = !$or ? $model->where($value) : $model->orWhere($value);
         } elseif (is_array($value)) {
             if (count($value) === 3) {
                 list($field, $operator, $search) = $value;
                 $model = !$or ? $model->where($field, $operator, $search) : $model->orWhere($field, $operator, $search);
             } elseif (count($value) === 2) {
                 list($field, $search) = $value;
                 $model = !$or ? $model->where($field, '=', $search) : $model->orWhere($field, '=', $search);
             }
         } else {
             $model = !$or ? $model->where($field, '=', $value) : $model->orWhere($field, '=', $value);
         }
     }
     return $model->get($columns)->first();
 }