我们如何在活动记录Codeigniter中多个JOIN

时间:2013-01-25 07:34:54

标签: mysql codeigniter activerecord

大家好,我们可以帮助我作为数据库和Codeigniter的初学者。 我们如何在活动记录中编写这个多重内连接和左连接查询。

SELECT suppliers.*, category.strCategory, category_1.strCategory AS strParent, 
tblcitylist.city_name
FROM ((suppliers INNER JOIN category ON suppliers.intCat=Category.intId) INNER JOIN tblcitylist ON 
suppliers.intCity=tblcitylist.city_id) LEFT JOIN category AS category_1 ON 
category.intParent=Category_1.intId
WHERE status='y';

我有三个表供应商,tblcitylist和category。想要获取具有intCat和intCity的供应商的数据,其中包含具有城市名称(city_name)和类别名称(strCategory)的供应商表的数据。 感谢

2 个答案:

答案 0 :(得分:1)

也许这就是你所追求的......

$query = $this->db->select('suppliers.*, category.strCategory, category_1.strCategory AS strParent, tblcitylist.city_name')
            ->from('suppliers')
            ->join('category',                  'suppliers.intCat=Category.intId',          'inner')
            ->join('tblcitylist',               'suppliers.intCity=tblcitylist.city_id',    'inner')
            ->join('category as `category_1',   'category.intParent=Category_1.intId',      'left')
            ->where('status','y')
                ->get();

CI数据库文档:https://www.codeigniter.com/user_guide/database/index.html

答案 1 :(得分:0)

这似乎是使用直接SQL更简单的情况。更不用说它执行得更快。

$sql = "SELECT........";
$query = $this->db->query($sql);