【问题标题】:Codeigniter active record COUNT return nullCodeigniter 活动记录 COUNT 返回 null
【发布时间】:2019-02-07 05:21:16
【问题描述】:

我需要从一个表中选择一些数据并从另一个表中计算相关图像。 我正在使用的代码如下(来自模型文件)

$this->rci_db->select (" 
        $this->tbl_register.id,
        $this->tbl_register.cor,
        DATE_FORMAT($this->tbl_register.registerdate, '%d/%m/%Y') AS registerdate,
        $this->tbl_registrations.registration,
        $this->tbl_aircrafts.cn,
        $this->tbl_aircrafts.built,
        $this->tbl_manufacturers.manufacturer, 
        $this->tbl_models.type AS model,
        COUNT($this->tbl_images.imgid) AS count
        ");
    $this->rci_db->from("$this->tbl_register");
    $this->rci_db->join("$this->tbl_registrations", "$this->tbl_registrations.rid = $this->tbl_register.rid", 'left');
    $this->rci_db->join("$this->tbl_aircrafts", "$this->tbl_register.aid = $this->tbl_aircrafts.aid", 'left');
    $this->rci_db->join("$this->tbl_manufacturers", "$this->tbl_manufacturers.mid = $this->tbl_aircrafts.mid", 'left');
    $this->rci_db->join("$this->tbl_models", "$this->tbl_models.tid = $this->tbl_aircrafts.tid", 'left');
    $this->rci_db->join("$this->tbl_images", "$this->tbl_register.id = $this->tbl_images.id", 'left');

    $this->rci_db->where("$this->tbl_register.rid", $rid);

    $query = $this->rci_db->get();

    if ($query->num_rows() > 0)
    {
        return $query->result();
    }
    return false;

查询为 COUNT 语句返回 null,我无法找出问题所在。 其他数据正确返回 感谢您的帮助。

【问题讨论】:

    标签: mysql codeigniter count


    【解决方案1】:

    该计数在另一个表中,因此您必须在查询中以某种方式关联这些计数。而不是在这种情况下加入,只使用子选择可能很容易。

    在你的选择中有这样的东西:

    $this->rci_db->select (" 
            $this->tbl_register.id,
            $this->tbl_register.cor,
            DATE_FORMAT($this->tbl_register.registerdate, '%d/%m/%Y') AS registerdate,
            $this->tbl_registrations.registration,
            $this->tbl_aircrafts.cn,
            $this->tbl_aircrafts.built,
            $this->tbl_manufacturers.manufacturer, 
            $this->tbl_models.type AS model,
            (SELECT COUNT($this->tbl_images.imgid) FROM $this->tbl_images WHERE $this->tbl_register.id = $this->tbl_images.id) AS count
            ");
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2015-03-14
      • 1970-01-01
      • 1970-01-01
      • 2014-02-22
      • 1970-01-01
      • 1970-01-01
      • 2014-10-19
      • 1970-01-01
      相关资源
      最近更新 更多