首页 > 解决方案 > 如何更改json数组codeigniter中的表名

问题描述

抱歉,我不确定我的问题是否正确。我的问题是我正在尝试更改通过调用 codeigniter 中的函数生成的 json 格式的表名。这可能吗?

我的数据库中有 2 个项目开始......

此 Json 由以下控制器和模型生成:

{

"data": [
   {
    "real_id": "1"
   },
   {
     "real_id": "2"
    }
  ]
}

目前我的控制器上有这个:

//-----CONTROLLER:

$messages = $this->message_model->get_messages();

if(count($messages) > 0){
  

  $this->response(array(
    "data" => $messages
  ) );
  
}

我的模型:

// Model 
public function get_messages(){

    $this->db->select("*");
    $this->db->from("myDataBase");
    $query = $this->db->get();

    return $query->result();
     
    }

如果可能,我想更改“real_id”并使其像“FAKE_id”,如下例所示:

{
   
    "data": [
       {
        "FAKE_id": "1"
       },
       {
         "FAKE_id": "2"
        }
      ]
    }

我试过这样的东西,但它只显示 1(一个)项目。

...
if(count($messages) > 0){
      foreach ($messages as $data) {
         $id =  $data->real_id;
         $arr = array(
          "FAKE_id" => $id
           ); 
        }
      $result = $arr;
 
      $this->response(array(
       
        "data" => $messages
      ) );
      
    }

其输出是错误的,因为只有一个显示:

{
  
    "data": [
       {
        "FAKE_id": "2"
       },
       
      ]
    }

提前致谢!

标签: jsoncodeigniter

解决方案


在您的查询中,只需更改列名,而不是像这样选择默认列名:

$this->db->select("real_id AS fake_id");
$this->db->from("myDataBase");
$query = $this->db->get();

推荐阅读