如何編寫 in 查詢來確定用戶是否參加了特定項目?
您想要查找用戶參加的比賽項目,其中包括跳繩項目。您提到了使用 $this->auth->id 來獲取當前用戶的 id,但是將其與 user_id 字段一起使用時遇到了困難。
要解決這個問題,可以使用以下方法之一:
1. 使用 find_in_set 函數
find_in_set 函數允許您檢查字符串中一個特定值的出現情況。在這種情況下,您可以使用以下查詢:
select * from project where find_in_set(?, user_id)
其中 ? 將被替換為當前用戶的 id($this->auth->id)。
例如,如果您要查找用戶 id 為 21 的用戶參加的比賽,則查詢將如下所示:
select * from project where find_in_set(21, user_id)
2. 使用 like 操作符
like 操作符允許您使用通配符來匹配字符串。在這種情況下,您可以使用以下查詢:
select * from project where user_id like ?
其中 ? 將被替換為類似于 %21% 的模式,其中 % 符號表示任何字符零次或多次出現。
例如,如果您要查找用戶 id 為 21 的用戶參加的比賽,則查詢將如下所示:
SELECT * FROM project WHERE user_id LIKE '%21%'
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END