2013-11-13 2 views
0

Я все еще выясняю подход MVC, и у меня возникает вопрос относительно правильного использования моделей в Codeigniter.Передача имени таблицы в качестве параметра модели в CodeIgniter

У меня есть этот метод в моей модели:

function select_user($id) 
    { 
     $this->db->where('id', $id); 
     $query = $this->db->get('users'); 
     return $query->result_array(); 
    } 

Это извлекает запись по идентификатору из users таблицы. Это все хорошо, но теперь я должен сделать то же самое с другой таблицей. Есть ли какое-либо возражение (в Codeigniter или MVC в целом) для расширения метода выше, чтобы имя таблицы передавалось как параметр, чтобы сделать его повторно используемым для любой таблицы?

Что-то вроде этого является то, что я имел в виду:

function select_by_id($id,$tbl) 
    { 
     $this->db->where('id', $id); 
     $query = $this->db->get($tbl); 
     return $query->result_array(); 
    } 

Он предположил, что каждая таблица имеет уникальный ID столбец. Моя цель состоит в том, чтобы не писать 10 разных методов, которые делают практически то же самое для 10 разных таблиц БД.

+0

Прохождение в таблице, как это должно работать - есть ли у вас проблемы с этим? – Nick

+0

Нет, это работает. Мой единственный вопрос заключается в том, нарушает ли он какое-то соглашение MVC/Codeigniter, или если у него есть какие-то последствия, которые я не предвидел. – jovan

+1

Нет, это прекрасно для этого. – Nick

ответ

0

то, что вы делаете, совершенно правильно.

Смежные вопросы