簡體   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