【问题标题】:Codeigniter $query->result() returns strange resultsCodeigniter $query->result() 返回奇怪的结果
【发布时间】:2017-04-21 08:39:03
【问题描述】:

这种平静的代码让我在过去的一个小时里发疯了...... 我有这个模型应该从数据库中返回所有非活动记录

    $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 中运行完全相同的查询,我会得到正确的结果

但是当我 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? 如果您需要任何其他信息,请告诉我,我会提供。谢谢!

【问题讨论】:

  • 我猜有几个活动列?
  • yeeaaa :D 在我写了一个问题后,我发现国家表也有活动状态:D
  • 在 var_dump 活动列中属于国家表
  • 试试 $query->result_array()

标签: php mysql codeigniter


【解决方案1】:

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

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

【讨论】:

    猜你喜欢
    • 2012-08-08
    • 2012-12-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多