Codeigniter $ query-> result()返回奇怪的结果

时间:2017-04-21 08:39:04

标签: php mysql codeigniter

这段代码的和平让我在最后一刻疯狂...... 我有这个模型应该从DB

返回所有非活动记录
    $query = $this->db->get($tableName);
    echo $this->db->last_query();
    var_dump($query->result());
输出

$this->db->last_query()

SELECT * FROM `locations` LEFT JOIN `provinces` ON `provinces`.`id_province` = `locations`.`id_province` LEFT JOIN `countries` ON `countries`.`id_country` = `provinces`.`id_country` LEFT JOIN `statuses` ON `statuses`.`id_status` = `locations`.`id_status` WHERE `locations`.`active` = '0' ORDER BY `locations`.`id_location` DESC LIMIT 50

如果我在phpmyadmin中运行exactsame查询,我会得到正确的结果

enter image description here

但是当我var_dump data var_dump($query->result());时,我得到以下结果

array (size=50)
  0 => 
    object(stdClass)[61]
      public 'unique_id' => string 'OWYwYjBmNm' (length=10)
      public 'active' => string '1' (length=1)
      public 'owner_name' => string 'Cleve Greenfelder' (length=17)
  1 => 
    object(stdClass)[62]
      public 'unique_id' => string 'YWY4YmMzMm' (length=10)
      public 'active' => string '1' (length=1)
      public 'owner_name' => string 'Bradford Hyatt' (length=14)

为什么/如何将此活动状态从0覆盖到1? 如果您需要任何其他信息,请告诉我,我会提供。谢谢!

1 个答案:

答案 0 :(得分:0)

有一次我写了一个问题,答案很快出现在我脑海里:) 表国家/地区也有活动字段,因此该字段会将活动状态覆盖为已启用。我需要在查询中指定字段和名称才能获得正确的结果

$fields = 'unique_id, locations.active as active, ....';