gpt4 book ai didi

php - Codeigniter 2联接一对多查询3个表

转载 作者:行者123 更新时间:2023-11-29 17:31:36 25 4
gpt4 key购买 nike

我有3张 table

table1:文档(id、代码、内容)

表2:文件(id、代码、文件名)

table3:标签(documentId,标签)

在我的页面上,我必须在表格 View 中显示所有文档。喜欢

代码|内容

123 |这是一个包含文件 **files.filename** 和标签 **tags.tag** 的示例文档

每个文档可以有多个文件和标签

这是我当前的代码。

return $this->db
->select('t1.id, t1.barcode, t1.sub, t1.source_type, t1.sender, t1.address, t1.description, t1.receipient, t1.status, t2.id as fileId, t3.tag as docTag')
->select('DATE_FORMAT(t1.datetime_added, \'%m/%d/%Y-%h:%i %p\') as datetime_added', FALSE)
->from('documents as t1')
->join('files as t2', 't2.barcode = t1.barcode', 'left')
->join('tags as t3', 't3.id = t1.id')
->order_by('id', 'desc')
->get()->result_array();

最佳答案

您可以使用此查询,它会对您有所帮助

SELECT `doc`.`id`,
(select GROUP_CONCAT(`tag`) from `tags` `tag` where `docid`=`doc`.`id` group by `docid`) as `tags`,
(select GROUP_CONCAT(`filename`) from `files` where `docid`=`doc`.`id` group by `docid`) as `file`
FROM `document` `doc`

如果您的文档有多个文件或标签,它将显示文档表中的一条记录,如果有多个,标签和文件名将以逗号分隔

关于php - Codeigniter 2联接一对多查询3个表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50579777/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com