Я пытаюсь создать своего помощника. Сначала я создаю файл под названием 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; }
я заметлю о синтаксисе параметров. Может ли над кодом работать?