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

标签 codeigniter prefix table-alias

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

在所有其他地方它都按预期工作,但在创建表别名时它会添加 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

任何帮助都将不胜感激。

谢谢, 贾廷

最佳答案

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

在 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 的特性。

关于codeigniter - 代码点火器在表别名中添加 db 前缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10548950/

相关文章:

php - 如何在php codeigniter中一起使用 `where`和 `in`子句?

php - 代码点火器 : search pagination not limit by post method?

java - 速度:使用分隔符/前缀连接可选字段

sql - 选择带有表别名的 SQL View Slow

sql - 什么时候需要在 SQL 中给表名一个别名?

php - 在 codeigniter 中的多个应用程序之间共享配置

php - 适用于 PHP 5.2 的 CodeIgniter 的 PHP ORM

function - +1 和 -1 的区别

c# - 什么时候在字符串前使用@更好?

sql - ORA-00933 与内部联接混淆和 "as"