Excelでseederのデータを作成する方法
Excelでseederのデータを作成する方法
順調にシステムが組みあがってくると自分の意図した動きとなるか確認のためにSQLにデータが必要になります。
テストデータや実データを入れるわけですが、この時に使えるのがSeeder。
私は自分も使うプログラムを組んでいるのでフェイクデータの必要はないのでSeeder一択です。
商品情報だけでもかなりの量があるので1個づつ手打ちするのは無理。
となれば、Excelのデータをテーブルの形にまとめてSeeder作れないかなと模索します。
Seederに入れるのは所詮テキストデータ
結局はテキストデータで書くわけですから、文字列合成してしまえば簡単です。
‘shop_id’ =>’0′,
‘item_id’ =>’5453′,
‘namae’ =>’エンボスフライパン’,
‘text’ =>’エンボス加工’,
‘created_at’ =>’2018-01-11 12:37′,
‘updated_at’ =>’2018-01-11 12:37′
];
DB::table(‘itemphrases’)->insert($param);
1行ごとに上記の様なテキスト情報を作成してしまえば一気にDBに情報を流し込めます。
Seeder作成に使うExcel関数
使う関数は1つだけ【&】です。
例えば、こんなExcelテーブルがあったとします。
A | B | C | D | E | F | G | |
---|---|---|---|---|---|---|---|
1 | shop_id | item_id | name | text | created_at | updated_at | |
2 | 0 | 5453 | エンボスフライパン | エンボス加工 | 2018-01-11 12:37 | 2018-01-11 12:37 |
G列の2行目以降にこんな式を書き込みます。
=”$param = [‘”&A$1&”‘ =>'”&A2&”,'”&B$1&”‘ =>'”&B2&”‘,'”&C$1&”‘ =>'”&C2&”‘,'”&D$1&”‘ =>'”&D2&”‘,'”&E$1&”‘ =>'”&E2&”‘,'”&F$1&”‘ =>'”&F2&”‘,'”&G$1&”‘ =>'”&G2&”‘];DB::table(‘itemphrases’)->insert($param);”
※Seederの書き方については其々のフレームワークの形に直して読んでください。
この式を2行目に記載し、後はレコードのお尻までコピーしてあげればSeederの元が出来ます。
後は目的のシーダーにコピペして実行すれば簡単にデータが格納できます。
いやぁ便利。
まとめ
Excelさんって重くて使いにくいけど、こういう時に頼りになるのもやっぱりExcelさん。
手放せませんね。
-
前の記事
商品の品質について考察する 2019.01.23
-
次の記事
CSV:UTF-8でもExcelで文字化けさせない方法 2019.01.24
コメントを残す