5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Laravel5.8でFIND_IN_SETを使って、1カラム内のカンマ区切りデータを取得する

Posted at

タイトルの通りです!!

こんな感じのテーブル

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);

確認する!

スクリーンショット 2020-06-11 22.35.47.png

オムライスと厚焼きたまごをGET!!!

エスケープしてみる

$colname = '卵'
$query = DB::table('menus');
         ->whereRaw('FIND_IN_SET(?,material)', [$colname])
         ->get();

同様に取得できました。

参考サイト

[MySQL]1カラムに登録されたカンマ区切りデータを検索・抽出する方法(FIND_IN_SET)
find in set in laravel ? example

5
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
5
3

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?