如何查詢用戶參與的項目列表?

如何查詢用戶參與的項目列表?

問題:查詢用戶參與項目列表

在管理系統中,用戶登錄后需要查詢其參與的項目列表。已知項目表中 user_id 字段存儲著用戶表中的主鍵 id,且用戶登錄時系統會保存其 id。

起初嘗試直接使用 in 查詢,即:

select * from project where $this->auth->id in user_id

但發現這樣寫法不符合 sql 語法。

解決方案:

如果不更改表結構,可以通過以下兩種方法解決:

1. find_in_set 函數:

find_in_set 可判斷指定字符串是否在由逗號分隔的字符串列表中。例如,要查詢用戶 id 為 21 的參與項目:

find_in_set(21, user_id)

2. like 運算符

like 可進行模糊匹配。要查詢用戶 id 為 21 的參與項目,可以使用如下條件組合:

user_id like '21,%' or user_id like '%,21' or user_id like '%,21,%' or user_id=21

? 版權聲明
THE END
喜歡就支持一下吧
點贊7 分享