php - 使用 Codeigniter 进行复杂查询连接

标签 php mysql codeigniter codeigniter-3 codeigniter-2

我有一个查询,它在 phpmyadmin 中产生结果,但在 codeigniter 中不产生结果。

$sql = "SELECT express_interests.*, 
       cl_to  .User_Name AS ToClient, 
       cl_from.User_Name AS FromClient,
       cl_from.Member_Id AS FromMid,
       cl_to.Member_Id AS ToMid

FROM express_interests  
    INNER JOIN users AS cl_to ON cl_to.User_Id = express_interests.To_Id
    INNER JOIN users AS cl_from ON cl_from.User_Id = express_interests.User_Id";

我想在 codeignitor 中使用相同的查询。这是我用过的

$this->db->select('express_interests.*, 
       cl_to  .User_Name AS ToClient, 
       cl_from.User_Name AS FromClient,
       cl_from.Member_Id AS FromMid,
       cl_to.Member_Id AS ToMid
');

$this->db->from('express_interests');


$this->db->join('users AS cl_to', 'cl_to.User_Id = express_interests.To_Id');
$this->db->join('users AS cl_from', 'cl_from.User_Id = express_interests.User_Id');

当我使用它时,它会说

Unknown column 'cl_to .User_Name' in 'field list'

在 codeigniter 中使用上述查询的正确方法是什么?

最佳答案

$this->db->select('express_interests.*, 
       cl_to  .User_Name AS ToClient, 
       cl_from.User_Name AS FromClient,
       cl_from.Member_Id AS FromMid,
       cl_to.Member_Id AS ToMid
');

将其替换为

$this->db->select('express_interests.*, 
       cl_to.User_Name AS ToClient, 
       cl_from.User_Name AS FromClient,
       cl_from.Member_Id AS FromMid,
       cl_to.Member_Id AS ToMid
');

表别名和列名称之间不需要的空格

关于php - 使用 Codeigniter 进行复杂查询连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51798308/

相关文章:

php - 2 个并发 AJAX 上的 CodeIgniter $this->session->set_userdata()

php - CodeIgniter 上传图片然后调整大小

php - 使用 Amazon RDS 查询大型 MySQL 表

php - 如何为这个 MAX 数字增值

php - 在 OpenCart 3 中禁用用于开发的模板缓存

php - 来自 MySQL 查询的多个嵌套数组

mysql - 第一范式和名字和姓氏

php - 如何在从数据库中检索数据时隐藏重复数据

javascript - 带有 CodeIgniter 的 Angular 2

javascript - javascript 无法从表单获取数据