$model_name->method()"codeigniter-6ren"> $model_name->method()"codeigniter-我如何创建一个方法来用特定模型填充读取特定表格的下拉列表,然后获取该表格的特定列来填充下拉列表? 例如,如果我有一个模范人物我有 function get_all_id($id,$table) { -6ren">
gpt4 book ai didi

php - 将模型名称作为函数中的参数传递并使用其方法,如 "$this-> $model_name->method()"codeigniter

转载 作者:可可西里 更新时间:2023-11-01 01:03:14 27 4
gpt4 key购买 nike

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

例如,如果我有一个模范人物我有

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" ;

然后我只是在 View 中回应。

我如何做一个接收模型名称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

最佳答案

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

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”部分.

关于php - 将模型名称作为函数中的参数传递并使用其方法,如 "$this-> $model_name->method()"codeigniter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17731007/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com