Php Codeigniter活动记录,如查询
我正在用Codeigniter制作一个新闻网站,我有一个文章MySQL表格 ID、标题、正文、类别、已创建等 在类别字段中,我用逗号(,)分隔类别,如Php Codeigniter活动记录,如查询,php,mysql,codeigniter,Php,Mysql,Codeigniter,我正在用Codeigniter制作一个新闻网站,我有一个文章MySQL表格 ID、标题、正文、类别、已创建等 在类别字段中,我用逗号(,)分隔类别,如 第1条类别:国家、犯罪、电影 第2条类别:国家、城市、戏剧 第3条类别:搞笑、国际、电影 第4条类别:国家、犯罪、电影 我想取特定类别的文章。。像国家的(1,2,4)。 我尝试了很多方法,但似乎都不管用 请帮助,谢谢。您可以使用FIND\u IN\u SET方法查询您的类别字段 FIND\u IN\u SET('Crime',您的\u表。类别
- 第1条类别:国家、犯罪、电影
- 第2条类别:国家、城市、戏剧
- 第3条类别:搞笑、国际、电影
- 第4条类别:国家、犯罪、电影
请帮助,谢谢。您可以使用
FIND\u IN\u SET
方法查询您的类别
字段
FIND\u IN\u SET('Crime',您的\u表。类别)
您的方法有许多缺点,从长远来看,将表关系更改为类别
,将更具可扩展性。您可以使用多个关系和联接表来更轻松地查询类别
FIND_IN_SET将进行全表扫描,使用这种逗号分隔的方式将很难进行聚合,并获得文章/类别计数
Bill Karwin把这一反模式作为他优秀著作中的第一章。因为它还没有完成,我真的会考虑DB结构的改变……您应该有单独的类别表,以及一个用于文章类别连接的附加表(id、cat_id、article_id)。然后你可以相对容易地得到你想要的。如果你想保留这个计划:也许这会有帮助。谢谢你的回复。。。我一定会尝试你的方法,让你知道它是否有效。谢谢。