如何将数据从控制器传递到codeigniter中的模型

时间:2016-05-01 03:26:16

标签: php codeigniter

我通过URL将参数从视图传递给控制器​​。现在我想将它从控制器发送到模型,以便我可以使用它从表中选择数据。这是我的代码:

控制器:

function view(){
    if(isset($_GET['r'])) {
        $rank = $_GET['r'];
    }

    $rank=$this->uri->segment($rank);
    $this->load->model('names_rank');
    $data=$this->names_rank->get_names($rank);
    print_r($rank); 
}   

模型:

function get_names($rank){  
    $this->db->select('u.*,v.*');
    $this->db->from('unit_member u, Vyeo v');
    $this->db->where('v.fno = u.fno');
    $this->db->where('u.present = ""');
    $this->db->where('v.rank', $rank);
    $this->db->where('v.date_of_end="0000-00-00"');
    $query = $this->db->get();
    return $query->result_array();
}

这是结果:

  

遇到PHP错误严重性:警告消息:丢失   Names_rank :: get_names()的参数1,调用   第32行和第C:\ xampp \ htdocs \ unit \ application \ controllers \ names.php   定义

2 个答案:

答案 0 :(得分:1)

这可以发送到模型但你的代码对我来说是不可理解的,你在IF中设置后重新声明变量?你试图print_r()模型的输出吗?

我认为你想要实现这个目标吗?

function view() {

if(isset($_GET['r'])) {

$rank = $_GET['r'];
}else{

$rank = $this->uri->segment($rank);
}

$this->load->model('names_rank');

$data = $this->names_rank->get_names($rank);
print_r($data); 
}   

答案 1 :(得分:0)

您可以将参数传递给您的模型。首先,如果您未在自动加载中启用模型,则必须在控制器中调用模型。

你的模特:

big.Float

多数人。