无法从$ this-> db-> last_query()获得结果;笨

时间:2017-07-28 01:16:25

标签: php codeigniter join activerecord

相当简单的问题,必须多次讨论,但我仍然无法得到$ this-> db-> last_query();的结果。

            $this->db->select('count(*) as totalverified,res_sales.upduser, employee.name');
        $this->db->from('res_sales');
        $this->db->join('employee','employee.user_id = res_sales.upduser');
        $this->db->where('date>=', $fromdate);
        $this->db->where('date<=', $todate);
        $this->db->where('verificationnumber<>', '');
        $this->db->where('verificationnumber<>', NULL);
        $this->db->group_by('res_sales.upduser');
        $this->db->group_by('employee.name');
        $q = $this->db->get();
        $str = $this->db->last_query();
        print_r($str);
        if ($q->num_rows() > 0)
        {
            return $q->row();
        }

        return FALSE;

以上是我的模型函数中的代码。我无法获得预期的结果,以便查看在后端运行查询的内容。

感谢。 丹麦

3 个答案:

答案 0 :(得分:5)

我弄明白了这个问题。我必须在我的查询之上写一个声明,即:

$this->db->save_queries = TRUE;

在此之后编写您的查询并写下$ this-&gt; db-&gt; last_query();它现在显示最后一个查询。

样品:

$this->db->save_queries = TRUE;
$str = $this->db->last_query();
echo $str;

干杯。

答案 1 :(得分:0)

我想问为什么像数组这样的打印查询只是使用

$str = $this->db->last_query();
echo $str; 

答案 2 :(得分:0)

创建一个辅助函数并在项目的任何地方使用它:

function lq(){  echo $this->db->last_query(); die; }

并调用控制器和模型,如:

lq();