Codeigniter多级MySql查询

Codeigniter多级MySql查询,mysql,codeigniter-2,Mysql,Codeigniter 2,如果这个问题不清楚,我很抱歉,但我已经尽了最大努力让您了解这种情况。在这种情况下,我使用codeigniter 我有一个名为levels的表,例如 表名级别 id name 1 abc 2 xyz 和另一个名为课程的表 id level name 1 1,2 apple 2 2,3 android 我想在查询中生成的是: 1.我希望执行查询,以便它为我提供课程详细信息的各个级别名称,即 {['name' : 'apple', 'level'

如果这个问题不清楚,我很抱歉,但我已经尽了最大努力让您了解这种情况。在这种情况下,我使用codeigniter

我有一个名为levels的表,例如

表名级别

id  name
1   abc
2   xyz
和另一个名为课程的表

id   level   name
1    1,2     apple
2    2,3     android
我想在查询中生成的是: 1.我希望执行查询,以便它为我提供课程详细信息的各个级别名称,即

{['name' : 'apple',
  'level' : 
        {'name': 'abc', 'name': 'xyz'}
]}

通过使用连接,我尝试了很多,但它对我不起作用。请任何人向我推荐正确的选项,我应该如何分割级别ID并从级别表中获取其各自的名称。

我认为您可以使用FIND_IN_SET:

SELECT * FROM courses c JOIN 
levels l ON FIND_IN_SET(c.level, l.id)

我没有测试此查询,因此可能需要进行一些修复。

我认为您可以使用“在集合中查找”:

SELECT * FROM courses c JOIN 
levels l ON FIND_IN_SET(c.level, l.id)

我没有测试此查询,因此可能需要进行一些修复。

假设我阅读正确,第一步是更新数据库架构,这样您就不会将级别存储为逗号分隔的列表。即使如此,您仍需要在SQL之外做一些繁重的工作来格式化它。假设我阅读正确,第一步是更新数据库模式,这样您就不会将级别存储为逗号分隔的列表。即使如此,您仍需要在SQL之外进行一些繁重的工作,以便按照您的期望对其进行格式化。