3

如何创建一种方法来使用特定模型填充读取特定表的下拉列表,然后获取该表的特定列来填充下拉列表?

例如,如果我有一个模特我有

function get_all_id($id,$table) {
    $this->db->from($table);
    $this->db->order_by($id, "asc");
    $q = $this->db->get();
    return $q;
}

那么如果我需要填写让我们说一个带有姓氏字段的下拉列表......我会用它作为

$this->load->model('person_model');
$row = $this->person_model->get_all_id('id_person','tbl_person');
foreach ($row->result() as $val) 
$result .= "<option value='". $val->last_name."'>".$val->last_name."</option> \n" ;

然后我只是在视图中回应这一点。

如何执行接收模型名称名称和我需要的特定字段作为参数的函数?像

function fill_dropdown($model_name, $id, $table_name, $field){
    $this->load->model($model_name);
    $row = $this->  $model_name  ->get_all_id($id,$table_name);
    foreach ($row->result() as $val) 
    return "<option value='". $val->$field."'>".$val->$field."</option> \n" ;

}

因为这是不允许的:$row = $this-> $model_name

4

1 回答 1

4

当您加载模型时,您可以为其分配一个通用名称,然后您可以使用该名称在代码中引用该模型。

function fill_dropdown($model_name, $id, $table_name, $field){
    $this->load->model($model_name, 'myModel');
    $row = $this->myModel->get_all_id($id,$table_name);
    foreach ($row->result() as $val) 
    return "<option value='". $val->$field."'>".$val->$field."</option> \n" ;

}

请参阅用户指南的“加载模型”部分。

于 2013-07-18T18:48:42.300 回答