将表名作为参数传递给CodeIgniter中的模型

时间:2013-11-13 17:05:29

标签: php codeigniter

我还在搞清楚MVC方法,我对Codeigniter中模型的正确使用有疑问。

我的模型中有这个方法:

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

这将从users表中按ID获取记录。这一切都很好,但现在我必须用不同的表做同样的事情。是否存在任何异议(在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个不同的数据库表基本上是相同的。

1 个答案:

答案 0 :(得分:0)

你正在做的事情是完全正确的。