我仍在学习MVC方法,并且对正确使用方法有疑问。
如何转换下面的函数,以便重新使用它:
旧情况(每次调用此函数时,我都可以指定其他表名):
foreach ($client_data->fetch_all("gender") as $aRow):
codeigniter的新情况:
功能视图:
<?php foreach($fetch_all->result() as $o) : ?>
功能控制器:
public function load_client_data() {
$client_id = $_POST['id'];
$client_data = $this->user_model->get_client_data($client_id);
$fetch_all = $this->user_model->fetch_all();
$this->template->loadAjax("clients/client_data.php", array(
"client_data" => $client_data,
"fetch_all" => $fetch_all)
);
功能型号:
public function fetch_all() {
return $this->db->get();
}
在新情况下的代码可以正常工作,但是如何传递表名,以便可以像在旧情况下一样重用fetch_all函数。
我有一个包含20个选择选项的表单,现在我必须为每个选择选项创建20个不同的函数来检索数据,而不是仅使用另一个表名来调用一个函数。我尝试了其他选项,但没有达到我想要的结果。我该如何处理?
答案 0 :(得分:0)
application/core
文件夹中创建一个base_model。 base_model
中,您需要定义所有通用函数,例如fetch_all,get_one,get_based_on_id等tablename
的参数,或者其他适合您的条件,其中设置了要为其定义模型的确切表名。User
模型,您将像$this->User->fetch_all()
一样调用fetch_all
是在base_model中定义的,它将起作用让我知道是否需要更多信息。