CRUD機能を【Laravel8系】で作ってみる。 ダミーデータ入力

【Laravel8系をインストールしてみた】ログインできるまで

↑の続きです。

前回ログインまでできたんで、今回はテーブルを作ってその中にダミーデータを入れてみます。

migration

まずはテーブルを作っていきます。

php artisan make:model Student -m
Code language: CSS (css)

次にmigrationファイルの作成。

database/migrations/2021_06_29_060856_create_students_table.php <?php use Illuminate\Database\Migrations\Migration; use Illuminate\Database\Schema\Blueprint; use Illuminate\Support\Facades\Schema; class CreateStudentsTable extends Migration { /** * Run the migrations. * * @return void */ public function up() { Schema::create('students', function (Blueprint $table) { $table->id(); $table->string('firstname'); $table->string('lastname'); $table->string('email'); $table->string('phone'); $table->timestamps(); }); } /** * Reverse the migrations. * * @return void */ public function down() { Schema::dropIfExists('students'); } }
Code language: HTML, XML (xml)
app/Models/Student.php <?php namespace App\Models; use Illuminate\Database\Eloquent\Factories\HasFactory; use Illuminate\Database\Eloquent\Model; class Student extends Model { use HasFactory; protected $table = "students"; protected $fillable = [ 'firstname', 'lastname', 'email', 'phone', ]; }
Code language: HTML, XML (xml)

そしてマイグレーションをします!

php artisan migrate

これでテーブルが作成できたかと思うので、一度phpmyadminに確認しにいきましょう。

check phpmyadmin table

このようにテーブルが確認できたらOKです!

ではこのテーブルにダミーデータを入れていきます。

ダミーデータ入力

今回はシーダーを使ってダミーデータを入れていこうと思います。

シーダを使うことで仮のデータを入力することができます。

自分で決めたデータも入れることができるし、機械的にデータを指定した数分入力することもできます。

こちらの記事が参考になるかと思います。
Laravel8で完成されたModelFactoryの使い方

ではダミーデータを入れていきます。

Factoryの作成

php artisan make:factory StudentFactory
Code language: CSS (css)

Factoryに記入

database/factories/StudentFactory.php <?php namespace Database\Factories; use App\Models\Student; use Illuminate\Database\Eloquent\Factories\Factory; class StudentFactory extends Factory { /** * The name of the factory's corresponding model. * * @var string */ protected $model = Student::class; /** * Define the model's default state. * * @return array */ public function definition() { return [ 'firstname' => $this->faker->firstname, 'lastname' => $this->faker->lastname, 'email' => $this->faker->email, 'phone' => $this->faker->phoneNumber, ]; } }
Code language: HTML, XML (xml)

Factoryを動かすようにシーダを書く。

database/seeders/DatabaseSeeder.php <?php namespace Database\Seeders; use Illuminate\Database\Seeder; class DatabaseSeeder extends Seeder { /** * Seed the application's database. * * @return void */ public function run() { // \App\Models\User::factory(10)->create(); //10人分のStudentのデータを入れる \App\Models\Student::factory(10)->create(); } }
Code language: HTML, XML (xml)

このままだとダミーデータが英語になってしまうので、日本語のダミーデータが入力されるように設定変更。

config/app.php 'faker_locale' => 'ja_JP',
Code language: PHP (php)

そしてダミーデータを入れるコマンドを叩きます。

php artisan db:seed
Code language: CSS (css)

はい、phpmyadminを確認しにいきます 。

check dummy data

このようにデータが入っていればOK!

ダミーデータを入れることができました。

まとめ

ダミーデータを入れることができるのってすごい便利ですよね。

便利なライブラリだなあー

参考ブログ: Laravel8で掲示板を作成する②(一覧画面を作成)

2 COMMENTS

コメントを残す

メールアドレスが公開されることはありません。

CAPTCHA