Я думаю, что на самом деле было бы лучше использовать Active Record CI для компиляции запросов.
Пример:
function all_clients($select)
{
$this->db->select($select);
return $this->_get_client_data();
}
function single_client($select, $id = "")
{
// validate $id
$this->db->select($select);
$this->db->where("id", $id);
$this->db->limit(1);
return $this->_get_client_data();
}
// Only called by a method above once the query parameters have been set.
private function _get_client_data()
{
$q = $this->db->get("clients");
if($q->num_rows() > 0)
{
return $q->result_array();
}
return FALSE;
}
Active Record CI делает все, что вы хотели, намного проще. Вы можете себе представить, как настроить ваши публичные функции для условной установки ряда опций перед тем, как вызвать $this->db->get()
.
Полагаю, вы бы назвали _get_client_data
всеобъемлющим (?), А выполнение всего процесса извлечения данных с помощью одного метода значительно облегчает обслуживание таких вещей, как обработка ошибок.
ПРИМЕЧАНИЕ. Всегда не забывайте проверять данные, подобные этим. Я знаю, что вы делаете, но я просто повторяю это.