代码点火器在表别名中添加db前缀

时间:2012-05-11 09:38:48

标签: codeigniter prefix table-alias

我已将代码点火器配置为使用数据库前缀。

在所有其他地方,它按预期工作,但在创建表别名时,它是前缀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设置为值'foo'。

正在执行的最终查询如下: -

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

2 个答案:

答案 0 :(得分:8)

我发现手动查询会忽略表前缀。我还发现有一种方法可以为手动查询添加表格前缀:

在config / 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功能。

答案 1 :(得分:0)

我认为您应该使用普通查询来避免dbprefix。 尝试使用$this->db->query('your query')