codetc - 网站开发技术 首页 后端 查看内容

CI框架中使用join实现多表联合查询

2015-12-19 22:02| 发布者: CODETC| 查看: 8061| 评论: 1

CodeIgniter 框架为PHP开发人员提供了一套丰富的类库来满足通常的任务需求,并且提供了一个简单的接口和逻辑结构来调用这些库。


CI 可以将需要完成的任务代码量最小化,这样你就可以把更多的精力放到项目的开发上了。对于这样的一个灵活健全的PHP框架,要实现多表联合查询当然不是难事,下面我们主要看一下CI中join的用法。


例:用 A表中的每个ID 去查询这个 ID 在 people 表中的信息
$this->db->from('A');
$this->db->join('B', 'sites.id = B.id');

用 A表中的每个ID 去查询这个 ID 在 B表中的信息。 注意SQL的约定,如果一个列名在二张表中是重复的,你需要在列名前加上表名和一个"."号。因此sites.id在位置桌子中意谓id所在的表是sites。在进行SQL多表查询时,最好把列名进行唯一性的标识,这样可以避免产生岐义,也可以让你自己明了。


如:你执行以下语句
$this->db->select('*');
$this->db->from('blogs');
$this->db->join('comments', 'comments.id = blogs.id');
$query = $this->db->get();

相当于 执行这条sql语句
SELECT * FROM blogs JOIN comments ON comments.id = blogs.id

如果你想要在查询中使用多个连接,可以多次调用本函数。
如果你需要指定 JOIN 的类型,你可以通过本函数的第三个参数来指定。可选项包括:left, right, outer, inner, left outer, 以及 right outer.

$this->db->join('comments', 'comments.id = blogs.id', 'left');

// 生成: LEFT JOIN comments ON comments.id = blogs.id
文章来源 CODETC,欢迎分享,转载请注明地址: http://www.codetc.com/article-277-1.html
发表评论

最新评论

引用 大神  2016-6-7 18:12
牛逼

查看全部评论(1)

 作为游客发表评论,请输入您的昵称

返回顶部