Codeigniter 4查询生成器在再次执行时丢失SELECT和WHERE条件

问题描述

我正在使用Codeigniter 4查询生成器。 以下是从数据库检索数据的代码

    public function get_data()
    {
        $where = [
            'username' => 'admin'
        ];
        $this->_builder = $this->_db->table('pf_user_master s');
        $this->_builder->join('pf_role_master r','r.role_id = s.role_id');
        $this->_builder->select('username,first_name,last_name,mobile,email,r.role_name,s.status');
        if (is_array($where) && !empty($where)) {
            $this->_builder->where($where);
        }
        $first= $this->_builder->get()->getResultArray();
        print_r($first);
        $second= $this->_builder->get()->getResultArray();
        print_r($second);
        exit;
    }

我得到以下输出:

在变量$ first中,我得到预期的输出

Array
(
    [0] => Array
        (
            [username] => admin
            [first_name] => Fisrt
            [last_name] => Last
            [mobile] => 
            [email] => [email protected]
            [role_name] => Admin
            [status] => 1
        )

)

但是在变量$ second中,查询生成器将丢失SELECT,WHERE条件以及JOIN。 并打印输出,如下所示:

Array
(
    [0] => Array
        (
            [user_id] => 1
            [username] => admin
            [password] => 21232f297a57a5a743894a0e4a801fc3
            [first_name] => First
            [last_name] => Last
            [mobile] => 
            [email] => [email protected]
            [role_id] => 1
            [status] => 1
            [created_by] => 
            [created_date] => 2020-09-08 19:30:52
            [updated_by] => 
            [updated_date] => 2020-09-08 19:32:42
        )

    [1] => Array
        (
            [user_id] => 2
            [username] => superadmin
            [password] => 21232f297a57a5a743894a0e4a801fc3
            [first_name] => NewFirst
            [last_name] => NewLast
            [mobile] => 
            [email] => [email protected]
            [role_id] => 1
            [status] => 1
            [created_by] => 
            [created_date] => 2020-09-08 21:51:42
            [updated_by] => 
            [updated_date] => 
        )

)

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)