タイトルの通りです!!
こんな感じのテーブル
menusテーブル
id | menu | material |
---|---|---|
1 | オムライス | 卵,ご飯,チキン |
2 | 厚焼きたまご | 卵 |
3 | 唐揚げ定食 | ご飯,チキン |
環境
Laravel5.8
mysql5.7
やってみよう
materialに「卵」が入っているmenuを取得する!
$query=DB::table('menus')->whereRaw('FIND_IN_SET("卵",material)')->get();
出力する!
dd($query);
確認する!
オムライスと厚焼きたまごをGET!!!
エスケープしてみる
$colname='卵'$query=DB::table('menus');->whereRaw('FIND_IN_SET(?,material)',[$colname])->get();
同様に取得できました。
参考サイト
[MySQL]1カラムに登録されたカンマ区切りデータを検索・抽出する方法(FIND_IN_SET)
find in set in laravel ? example