[英]Eloquent - Search ID in column like ['4','6','8'] (PHP Laravel)
我迷路了...我無法在數據庫中獲取數據...
所以我有一張桌子,名字叫:准備和字段
ID,...,...,參與者,.....
我使用json_encode函數將另一個表的ID存儲在參與者字段中,如下所示:['4','6','8']。
我想檢索所有具有給定ID的結果。 例如,如果我有:
ID---name---participants--------otherfield
1---Step1---['6','8']-----------lorem1
2---Step2---['4','7','8']-------lorem2
3---Step3---['2','3','6','9']---lorem3
我想檢索所有數字為6的行,即行1和3。我用雄辯的語句或querybuilder進行了幾次測試,但沒有結果。 例如我嘗試了這個:
$idToFind = 6;
$query = PreparationStep::
whereRaw("JSON_CONTAINS(participants, ".$idToFind.")")
->get();
請幫我。
你快到了! 由於JSON_CONTAINS
如果找到匹配JSON_CONTAINS
返回1,否則返回0,因此您必須像這樣更改whereRaw
語句(參數化原始語句以防止sql注入)
$idToFind = 6;
$query = PreparationStep::whereRaw("JSON_CONTAINS(participants, ?) = 1", [$idToFind])->get();
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.