如何从 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->load->model('your_model');
,你只能在Controller中调用它。【参考方案3】:
例如在User_controller
加载用户模型$this->load->model('Users_model');
然后用户查看页面$viewpage = this->Users_model->somefunction($id);
【讨论】:
您的建议答案对于MVC
结构化框架来说不是一个好习惯。以上是关于如何从 CodeIgniter 中的视图访问模型的主要内容,如果未能解决你的问题,请参考以下文章