如何編寫 IN 查詢以確定用戶是否參加了特定項目?

如何編寫 IN 查詢以確定用戶是否參加了特定項目?

如何編寫 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
喜歡就支持一下吧
點贊13 分享