Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/postgresql/9.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql 如何向Codeigniter中的select查询结果添加变量值?_Sql_Postgresql_Codeigniter - Fatal编程技术网

Sql 如何向Codeigniter中的select查询结果添加变量值?

Sql 如何向Codeigniter中的select查询结果添加变量值?,sql,postgresql,codeigniter,Sql,Postgresql,Codeigniter,我有一个select查询,它输出了几行。查询正在运行,但我需要的是,我想在上面的结果中插入一个具有值的自定义列。 我在PostgreSQL中使用Codeigniter 3。这个查询看起来像 SELECT * FROM tbl_name ORDER BY timestamp ASC LIMIT 6; 我得到的结果是 Array ( [0] => Array ( [id] => 1 [title] => Ad

我有一个select查询,它输出了几行。查询正在运行,但我需要的是,我想在上面的结果中插入一个具有值的自定义列。 我在PostgreSQL中使用Codeigniter 3。这个查询看起来像

SELECT * FROM tbl_name ORDER BY timestamp ASC LIMIT 6;
我得到的结果是

Array
(
    [0] => Array
        (
            [id] => 1
            [title] => Adventure Honeymoon
            [nights] => 5
            [price] => ₹37,000.00
            [discount] => 0
        )
    [1] => Array
        (
            [id] => 2
            [title] => Wild Side Of Kerala
            [nights] => 4
            [price] => ₹24,000.00
            [discount] => 0
        )
...
)
我想添加一个名为“category”的自定义列,其结果如下所示

Array
(
    [0] => Array
        (
            [id] => 1
            [title] => Adventure Honeymoon
            [nights] => 5
            [price] => ₹37,000.00
            [discount] => 0
            [category] => Honeymoon Tours                                                                                     
        )
    [1] => Array
        (
            [id] => 2
            [title] => Wild Side Of Kerala
            [nights] => 4
            [price] => ₹24,000.00
            [discount] => 0
            [category] => Wild Life Tours                                                                                     
        )
...
)
快速帮助将不胜感激。

试试这个

型号

public function get_data(){
   $query = $this->db->select('*')
   ->from('tlb_name')
   ->order_by('timestamp', 'ASC')
   ->limit(6)
   ->get();
   return $query->result_array();  

}
控制器

public function custom_addition(){

   $data = $this->model_name->get_data();

   foreach($data as $row){
       $row['category'] = 'Value';
   }

   print_($data);

}

$data
查询结果

您将使用case或static或joining表根据条件添加列和值。 你必须改变吗?根据要求设置值/列名称:

SELECT T1.*, (case when T1.column_name = ? then ? else ? end) as 'CutomColumnName'
FROM TableName T1
ORDER BY T1.timestamp ASC
 LIMIT 6;
例:


从何处获取或分配类别值?@jainvikram444我有一个自定义类别列表数组。它在数据库表中或PHP数组中?这有点奏效,只生成最后一个结果行,而我在模型中将结果返回给控制器。查询结果中有6行。只有最后一行获得了
$data['category']
的值。如果我运行查询并返回相同的行而不与foreach循环,则只得到一行。在foreach循环后,首先检查数据
print\r($data)让我们。
SELECT T1.*, 
   (case when T1.CategoyId=1 then 'Category-1'  
         when T1.CategoyId=2 then 'Category-2'
         else 'Not Found'
    end) as 'CutomColumnName'
    FROM TableName T1
    ORDER BY T1.timestamp ASC
     LIMIT 6;
SELECT T1.*, C1.name 
FROM TableName T1
left outer join category C1 on C1.id=T1.category_id
ORDER BY T1.timestamp ASC
 LIMIT 6;