/** * [search description] * @param [type] $related [description] * @param [type] $search [description] * @param [type] $type [description] * @param [type] $field [description] * @param [type] $per_page [description] * @return [type] [description] */ public function search($related, $search, $type, $field, $per_page) { $sign = $type == 'equal' ? '=' : 'like'; if ($type == 'contain') { $search = '%' . $search . '%'; } if ($type == 'start') { $search = $search . '%'; } if (!is_null($related)) { $data = array('related' => $related, 'field' => $field, 'sign' => $sign, 'search' => $search); return $this->model->searchHasRelated($data)->paginate($per_page); } else { return $this->model->where($field, $sign, $search)->orderBy($field, 'asc')->paginate($per_page); } }