Я пытаюсь создать своего помощника.Сначала я создаю файл с именем HelperModelBase.
Это абстрактный класс.
abstract class Pasaj_Model_Base {
public $table_name;
public $table_alias;
public $class_name;
public $lastSql;
public function __construct() {
$this->class_name = get_class($this);
$this->table_name = strtolower($this->class_name);
$this->table_name = str_replace('_dbview', '', $this->table_name);
}
и создаю метод с именем select
public function select($where = null, $order = null, $limit = null, $columns = '*') {
if (!$columns)
$this->db->select('*');
elseif (is_array($columns)) {
$columns = implode(',', $columns);
$this->db->select($columns);
}
}
Как вы видите выше, я делаюпростая операция выбора, но я хочу добавить одну или несколько операций.
Например, где и упорядочить, чтобы это сделать.Я добавляю это к моему методу:
if($where)
Проблема начинается здесь, потому что у codeigniter есть специальный код для обработки операций.
$this->db->where();
как я могу это сделать?Как я могу, что, где ситуация для моего
$this->db->select();
Спасибо.
Наконец-то я дохожу до этого.
public function select($where = null, $order = null, $limit = null, $columns = '*') {
if (!$columns)
$this->db->select('*');
elseif (is_array($columns)) {
$columns = implode(',', $columns);
$this->db->select($columns);
}
if($where)
$this->db->where($where);
if($order)
$this->db->order_by($order);
if($limit)
$this->db->limit($limit);
$query = $this->db->get();
return $query;
}
Я буду замечать о синтаксисе параметров.Может ли приведенный выше код работать?