在 Codeigniter db 中,active dbprefix 不适用于 concat()、sum() 方法

In Codeingiter db active dbprefix don't apply in concat(), sum() methods

我正在使用 codeigniter 2.2.4

我每年都必须使用 table 前缀进行备份,即 2017_

它不适用于像

这样的复杂 select 查询
$this->db->select('concat(users.firstname, " ", users.lastname) AS name users.email', FALSE);
$this->db->get('users');

echo $this->db->last_query();
die();

以上代码returns本次查询

SELECT concat(users.firstname, ' ', 2017_users.lastname) AS name, 2017_users.email FROM (`2017_users`)

我想知道在codeigniter DB active record中是否有其他方法可以使用concat(), sum(),以便它可以应用db_prefixes

当我将 codeigniter dbprefix 设置为 2017_

时,我想要这个结果
SELECT concat(2017_users.firstname, ' ', 2017_users.lastname) AS name, 2017_users.email FROM (`2017_users`)

还在 table 函数中的 table 名称中添加前缀,即 concat()、sum()

您可以通过 $this->db->dbprefix 附加 prefix。将您的代码更改为:

$this->db->select("concat({$this->db->dbprefix}users.firstname, ' ', 
{$this->db->dbprefix}users.lastname) AS name, users.email", FALSE);
$this->db->get('users');

echo $this->db->last_query();
die();