如何从 CodeIgniter 中的视图访问模型

Posted

技术标签:

【中文标题】如何从 CodeIgniter 中的视图访问模型【英文标题】:How to access Model from Views in CodeIgniter 【发布时间】:2017-07-14 08:32:09 【问题描述】:

如何从 Codeigniter 中的视图访问模型。

我有一个带有函数的模型,我需要从视图中调用这个函数

【问题讨论】:

那么控制器应该做什么? codeigniter.com/user_guide/general/models.html#loading-a-model 能否请您添加到目前为止您尝试过的内容。 @always-a-learner 他现在删除了他的帐户看起来像 在接受答案之前他没有留下来,这真是令人心碎。 :)) @wolfgang1983 【参考方案1】:

请先阅读 CI 文档:

如果您使用的是MVC 结构化框架,那么您应该遵循它的工作方式。

你需要控制器:

public function your_controller_function()

    // To load model
    $this->load->model ('your_model');

    //To Call model function form controller
    $data = $this->your_model->model_function($ex_data);

    //TO Send data to view
    $this->load->view('your_view',['data'=>$data]);

在您的模型内部:

public function model_function($ex_data)
    // Your Querys
    // user return to send you query result to the controller anything
   // Sample Example of query and return

    $query = $this->db->select('*')     
    ->where('your_column',$data['column_name'])
    ->get('your_table');

    $your_result = $query->row_array();

    if($this->db->affected_rows() > 0)
         return your_result;

      else 

        return FALSE;
     

【讨论】:

【参考方案2】:

在你的视图中你可以写:

<?php
$this->load->model('your_model');
$this->your_model->some_function();
?>

【讨论】:

你不能在View中调用$this-&gt;load-&gt;model('your_model');,你只能在Controller中调用它。【参考方案3】:

例如在User_controller加载用户模型$this-&gt;load-&gt;model('Users_model');

然后用户查看页面$viewpage = this-&gt;Users_model-&gt;somefunction($id);

【讨论】:

您的建议答案对于MVC 结构化框架来说不是一个好习惯。

以上是关于如何从 CodeIgniter 中的视图访问模型的主要内容,如果未能解决你的问题,请参考以下文章

如何将结果从模型传递到 CodeIgniter 中的控制器?

CodeIgniter:从子文件夹访问视图

如何在 Codeigniter 中将值从视图传递到模型

CodeIgniter:将值形成模型函数

如何从codeigniter中的模型生成json格式

CI框架-学习笔记