繁体   English   中英

Codeigniter Active Records LIKE查询

[英]Codeigniter Active Records LIKE Query

我正在使用Codeigniter创建一个新闻网站,我有一个文章MySQL表,如ID,标题,正文,类别,创建等...

在“类别”字段中,我将类别用逗号(,)分隔,如...

  • 第1条分类:国家,犯罪,电影
  • 第2条分类:国家,城市,戏剧
  • 第3条分类:搞笑,国际,电影
  • 第4条分类:国家,犯罪,电影

我想获取特定类别的文章..像国家(1,2,4) 我尝试了很多方法但似乎没什么用。

请帮助谢谢。

您可以使用FIND_IN_SET方法查询“ Categories字段

FIND_IN_SET('Crime', your_table.Categories)

您的方法有许多缺点,从长远来看,将表格关系更改为Categories将更具可扩展性。 您可以使用manytomany关系和连接表来更轻松地查询您的类别。

FIND_IN_SET将执行全表扫描,并且使用此逗号分隔方式将非常难以聚合,并获得文章/类别计数。


将分隔列表存储在数据库列中真的那么糟糕吗?

比尔卡文将这种反模式作为其优秀着作中的第一章。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM