DBのデータがカンマ区切りの場合
基本的に、1対多や多対多リレーションの場合は中間テーブルを使用する。
ドキュメントはこちら
けどまれに、category_ids: 1,5,8
のようにカンマ区切り設計に遭遇することがある
その時の検索方法メモ
whereRawとFIND_IN_SETで解決
例えば
Bookテーブルのcategory_ids
カラム(1, 5, 8...)に$category_id
が含まれているものを検索したい場合
こうすればOK
$query = Book::query();
$query->whereRaw('FIND_IN_SET(?, category_ids)', [$category_id]);