Laravel を利用した CRUD の SPA 作成 2 ~ データベース設定編
laravel でデータベースを設定してきます。お前、全然JavaScript のジャの字もで手ないじゃないか、もうテックアカデミーに行くわと言われそうですが、もう少しお待ちを。
テーブルの作成
DB は MySQL を使用する予定ですが、パート1 で作成した「Homestead」には
MySQL がインストールされています。
デフォルトでは「.env」以下の設定をすることで接続可能です
DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=homestead
DB_USERNAME=homestead
DB_PASSWORD=secret
それでは Laravel さんの機能を使用してテーブルを作成します。
ホストOS で Lalavel がインストールされているフォルダに移動します。
cd [Homesteadがインストールされているパス]
vagrant ssh
ゲストOSでモデルとテーブルのひな型マイグレーションファイルを作成します。
php artisan make:model Item -m
作成されたマイグレーションファイルを以下に編集します。
public function up()
{
Schema::create('items', function (Blueprint $table) {
$table->bigIncrements('id');
$table->string('item_name');
$table->timestamps();
});
}
その後以下のコマンドを実行します。
php artisan migrate
これで「items」というテーブルが作成されました。
ダミーデータの挿入
ダミーデータを使用するツール「 Faker 」を日本語に対応させます。
//ja_JP に変更
faker_locale' => 'ja_JP',
Laravel の機能である(ガンダム)シードを利用して空のテーブルにダミーデータを挿入します。
php artisan make:factory ItemFactory
php artisan make:seeder ItemsTableSeeder
<?php
/** @var \Illuminate\Database\Eloquent\Factory $factory */
use App\Model;
use Faker\Generator as Faker;
$factory->define(App\Item::class, function (Faker $faker) {
return [
'item_name' => $faker->realText(10),
];
});
<?php
use Illuminate\Database\Seeder;
class ItemsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
App\Item::truncate();
factory(App\Item::class, 50)->create();
}
}
事前のもろもろの設定が完了したら、コマンドを実行します。
php artisan db:seed --class=ItemsTableSeeder
なんか変な日本語が入っていますが、ダミーなので気にしないことにしましょう。
最後に Model 周りを設定して DBの設定は完了です。
<?php
namespace App;
use Illuminate\Database\Eloquent\Model;
class Item extends Model {
protected $fillable = ['item_name'];
}
ディスカッション
コメント一覧
まだ、コメントがありません