我的模型中有一个函数可以获取我获取的所有公司详细信息 我必须在我的返回结果()中添加一个新的键city_name,我该如何添加?我很困惑,但我没有得到任何可用的例子。
function xxxx($search=array(),$page,$limit){
$this->db->select("*");
$this->db->from("xxx");
$this->db->join("xx","xx.xx=xxx.xx");
$this->db->limit($limit,$page);
$company_data = $this->db->get();
if($company_data->num_rows()){
return $company_data->result();
}
else{
return 0;
}
}
答案 0 :(得分:0)
更改以下行:
return $company_data->result(); // It return Stc Class Object
到
return $company_data->result_array(); // Now it returns an array
现在您可以使用array_push()
函数,它会将一个或多个元素插入到数组的末尾。
或者只是使用:
$company_data['index'] = value;
答案 1 :(得分:0)
让您的模型保持一致return $company_data->result()
。
在您的控制器中,您需要根据获得的结果数量进行迭代,并为对象添加新密钥。(result()
方法返回Standard Class Object
)。
function yourControllerMethod()
{
$company_data = $this->your_model->xxx(search_array, $page, $limit);
if(!empty($company_data)
{
foreach($company_data as $cd)
{
$cd->city_name = "pune"; // or anything you want
}
}
var_dump($company_data);
}
尝试此操作为结果添加新密钥。
编辑:
您问过,您的对象中没有city_name
个密钥。
是的,你没有。上面的代码在您的对象中添加了一个键。
就像数组一样。
$temp = array();
$temp["id"] = 1;
在此代码中,最初数组为空,下一个语句将id
添加为数组中的键。