Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/299.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
Php 为什么用UNION显示这样的数据_Php_Mysql_Codeigniter - Fatal编程技术网

Php 为什么用UNION显示这样的数据

Php 为什么用UNION显示这样的数据,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在codeigniter中进行联合,我希望数据显示如下 [array] => Array ( [0] => stdClass Object ( //Table 1 [id_tecnico] => 1698 [date] => 2018-02-12

我正在codeigniter中进行联合,我希望数据显示如下

[array] => Array
        (
            [0] => stdClass Object
                (
                //Table 1
                    [id_tecnico] => 1698
                    [date] => 2018-02-12
                    [nro] => M49320
                    [start] => 15:15
                    [end] => 17:45
                    [comment] => ok.
                    [total] => 2.5
                )

            [1] => stdClass Object
                (
                 //Table 2
                [id_tecnico] => 1698
                [nro] => M49317
                [date] => 2018-02-12
                [activity] => meeting
                [comment] => meeeting about nothing 
                [TotalHrs] => 0.67
                )
          )
在我的模型中有以下查询,其中我对表
Maintenance
进行了查询,但我也使用相同的
where

$this->db->select('p.name,s.date,s.nro,d.start,d.end,d.comment,d.total,m.machine');
   $this->db->from('Tecnico_Seguimiento as t');
   $this->db->join('personal as p','p.Codigo = t.id_tecnico');
   $this->db->join('MAN_SeguimientoDetalle as d','d.id_detalle = t.id_detalle');
   $this->db->join('MAN_Seguimiento as s','s.idMan_Tecnico = d.id_man_tecnico');
   $this->db->join('MAN_Solicitud as m','m.NroSolicitud = s.NroSolicitud');

   $this->db->where('t.id_tecnico',$id);
   $this->db->where('s.date >=',$minvalue);
   $this->db->where('s.date <=',$maxvalue);

   $query1 = $this->db->get_compiled_select();


   $this->db->select('act.nro as nroAct, act.date as fechaAct,act.activity,act.comment as commnetAct, act.TotalHrs, act.orden, act.date as dateAct, act.id_tecnico ');
   $this->db->from('MAN_Actividades as act');
   $this->db->where('act.date >=',$minvalue);
   $this->db->where('act.date <=',$maxvalue);
   $this->db->where('act.id_tecnico <=',$id);
   $query2 = $this->db->get_compiled_select();
   return $this->db->query($query1." UNION ".$query2)->result();
会议应该是
[activity]=>会议,而不是
[nro]=>会议
,我不知道为什么只选择第一个,或者我应该编辑
选择
,然后只做一个。我很感激这些信息,并为大家提供了很多帮助


我希望我已经解释清楚了

您不能在每个查询中使用不同的字段进行联合,SELECT子句中的字段在两个查询中必须相同。

您不能在每个查询中使用不同的字段进行联合,SELECT子句中的字段在两个查询中必须相同。

只需将两个查询结果合并到一个数组中即可将两个查询结果合并到一个数组中即可
[array] => Array
    (
        [0] => stdClass Object
            (
                [name] =>  HUGO
                [date] => 2018-02-20
                [nro] => M49301
                [start] => 17:45
                [end] => 19:30
                [commet] => ok.
                [total] => 1.75
                [machine] => Torno
            )

        [1] => stdClass Object
            (
            // Here should be the fields of the table activities
                [name] => M49321
                [date] => 2018-02-12
                [nro] => meeting
                [start] => meeting about nothing
                [end] => 1
                [comment] => 49321
                [total] => 17:43:00
                [machine] => 1698
            )
 )