作成日:2024-03-11, 更新日:2024-03-11
経緯
昔に作ったサイトをlaravelで運用することに。
テーブルはそのままで使う…という方針でやっていたら「$〇〇〇->save()」で「そんなテーブルは無い!」って怒られた
テーブル自体はあるんだけど、laravelは複数形にしたテーブル名に対して何かしたがっている…ってのが原因
状況、対応
今回はマイグレーションファイルが不要なのでモデルファイルだけ作成した
個人的に感知しなトコで余計なコトをされるのがイヤだし、学習コストもあまりかけたくないので基本、SQLはすべてクエリを作ってそのまま流す…ってのをしている
でもinsertしたレコードの取得でEloquent(?)を使う必要があった…ココで問題が発生
しなくちゃいけない対応は「テーブル名を明確に指定する」ってコトらしい
※詳細は知らない。未調査 → 「flightsモデル」とか「flightsテーブル」とか…その辺で調べれば分かると思う
現状と対応
$saveData = array( 'yyy' => 'yyy', 'yyz' => 'yyz', ); $xxx = new App\Models\xxx(); $xxx->table = [テーブル名]; // ← テーブルの指定を追加 // 省略 $xxx->fill($saveData); $result = $xxx->save();