php - 三张表使用 CI 连接

标签 php mysql codeigniter

我必须加入三个表。我不是一个好的 sql 编写器。可以请某人帮助我使用连接来准备这个吗,

分支机构

branch_id | branch_name | branch_address
1           name1           address1

分支服务

bs_id | branch_id | service_id
1       1           1
2       1           2
3       1           4

服务

service_id | service_name
1               service1
2               service2
3               service3
4               service4

我需要像这样从分支表和与每个分支相关的 service_names 中选择 *

结果

1 | name1 | address1 | service1 service2 service4 |

我在搜索时发现了一个名为 group_concat 的东西。它可以工作。但是如何与 CI 一起使用呢???

最佳答案

$this->db->select('*');
$this->db->from('branches');
$this->db->join('branch_services','branches.branch_id = branch_services.branch_id', 'left');
$this->db->join('services','branch_services.service_id = services.service_id', 'left');
$query = $this->db->get();
if($query->num_rows() != 0)
       return $query->result_array();
else
       return false;

根据需要使用左、右、内连接

关于php - 三张表使用 CI 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24926500/

相关文章:

php - Mysql 表挂起 - 无法保存第 149 行/home/my_site/public_html/my_file.php 中的结果集

php - 如何用<<<qq重写php echo

php - 如何让 wamp 显示每个错误?

java - 无法在 Android 应用程序中使用外部数据库

mysql - 为什么mysql insert会导致锁等待超时异常

php - 如何在 codeigniter 中构建事件记录查询?

php - 我什么时候/应该在 PHP 中使用 __construct()、__get()、__set() 和 __call()?

mysql - 子串索引 mysql

php - codeigniter 中的 jquery 数据表服务器端无法正常工作

php - Mysql Codeigniter Active Record - 如何执行 where_in 查询并返回正确的结果顺序?