点火器的代码在前面加上表的别名分贝前缀(Code igniter prepending db pre

2019-09-17 04:11发布

我已经配置代码点火器使用DB前缀。

在所有其他地方它工作正常,但在创建表的别名它前面加上前缀分贝。

代码是根据: -

$this->db->from('table_a');
$this->db->join('table_b', 'table_a.id = table_b.a_id', 'left');
-----
$this->db->join('table_b as tablebAlias', 'table_c.id = tablebAlias.a_id', 'left');

假设我dbprefix的值设置为“富”。

这是越来越执行最终的查询是下: -

Select * From foo_table_a left join foo_table_b on foo_table_a.id = foo_table_b.a_id
--- left join foo_table_b as tablebAlias on foo_table_c.id = foo_tablebAlias.a_id

任何帮助将是非常可观的。

谢谢,Jatin

Answer 1:

我发现手动查询忽略表前缀。 我还发现,存在于表前缀添加到手动查询方式:

在配置/ database.php中

我们可以这样做:

$db['default']['dbprefix'] = "feed_";  
$db['default']['swap_pre'] = "{PRE}";

这样可以做到这一点:

$sql = "SELECT * FROM {PRE}item";  
$query = $this->db->query($sql); 

该{} PRE成为feed_。

但是swap_pre不config.php文件,导致我认为这是CI 2.0功能。



Answer 2:

我认为你应该使用正常的查询,以避免dbprefix。 尝试使用$this->db->query('your query')



文章来源: Code igniter prepending db prefix in table aliases