如何在控制器中使用模型的索引函数?
根据codeigniter用户指南,我们知道我们可以使用
$this->name_of_model->function_of_model();
在控制器中。在重定向中,我们可以使用
redirect('controller_name/function_name');
如果我们在控制器中使用索引函数,那么我们可以在重定向中使用
redirect('controller_name');
重定向到该控制器。这样我怎么用
$this->name_of_model->function_of_model();
这种语法。
由于
答案 0 :(得分:0)
假设您在控制器索引中调用模型索引
Class test_controller extends CI_Controller
{
function index(){
$this->load->model('model_name');
$this->model_name->model_index();
}
}
现在,当您重定向到Controller索引时,将自动调用模型索引。
编辑: 但是,你可以像这样使用它
Class test_controller extends CI_Controller
{
function index(){
$query = $this->db->get('my_table');
$data['query_result'] = $query->result();
}
}
模型索引就是这个
function index()
{
$query = $this->db->get('my_table');
return $query->result();
}
你应该注意模型索引在这里不被调用instaed模型已经无用我们正在没有它的工作。因此,分离数据库交互是有用的,并将其与控制器相结合,打破了MVC模式。
答案 1 :(得分:0)
class User_model extends CI_Model
{
function __construct()
{
parent::__construct();
$this->load->database();
}
function insertrow($data,$table){
$this->db->insert($table,$data);
}
function updaterow($data,$table,$id){
$this->db->where($id);
$this->db->update($table,$data);
}
function fetchrow($table){
$query = $this->db->get($table);
return $query->result();
}
function fetchrowedit($tbl_name,$id){
$query = $this->db->get_where($tbl_name, $id);
return $query->result();
}
function fetchrowlogin($info,$table){
$this->db->select('*');
$this->db->where($info);
$this->db->from($table);
$query = $this->db->get();
if($query->num_rows() > 0){
$row = $query->row_array();
return $row;
}
}
function alreadyexits($table,$var){
$query = $this->db
->select('*')
->where($var)
->get($table)
->num_rows();
return $query;
}
function isVarExists($table,$var){
$query = $this->db
->select('*')
->where($var)
->get($table)
->num_rows();
return $query;
}
function messages_list($ids){
$this->db->where('reciver_id', $ids);
$this->db->limit(10);
$this->db->order_by("time", "asc");
$this->db->from('message_table');
$query = $this->db->get();
return $query->result();
}
}