Codeigniter,如何重用模型中的函数



我仍在学习MVC方法,我有一个关于正确用法的问题。

如何转换下面的函数以便我可以重复使用它:

旧情况(每次调用此函数时,我都可以指定不同的表名(:

foreach ($client_data->fetch_all("gender") as $aRow):

点火器的新情况:

函数视图:

<?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 个不同的函数来检索数据,而不是仅使用另一个表名调用一个函数。我尝试了不同的选择,但不是我想要的结果。我该如何处理?

您需要
  • application/core文件夹中创建一个base_model。
  • 在那个base_model,你需要定义所有泛型函数,如fetch_all、get_one、get_based_on_id等
  • 在每个模型中,您需要 2 两件事,从 base_model 继承并设置一个名为tablename的参数,或者其他适合您的参数,在其中设置要为其定义模型的确切表名
  • 现在在控制器中,您将加载模型并调用base_model的函数,例如您加载User模型,您将像$this->User->fetch_all()
  • Al 认为fetch_all在 base_model 中定义,它会起作用

如果您需要更多信息,请告诉我。

相关内容

  • 没有找到相关文章

最新更新