如何创建一个方法来填充具有特定模型的下拉读取特定表,然后获取该表的特定列以填充下拉列表?
例如,如果我有一个模范人物 我有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" ;
然后我就在视图中回应。
如何处理接收型号名称, table_name 以及我需要的特定字段作为参数的功能? 像
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
答案 0 :(得分: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" ;
}
请参阅Loading a Model的“user guide”部分。