【Laravel8系をインストールしてみた】ログインできるまで
↑の続きです。
前回ログインまでできたんで、今回はテーブルを作ってその中にダミーデータを入れてみます。
Table of Contents
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に確認しにいきましょう。
このようにテーブルが確認できたら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を確認しにいきます 。
このようにデータが入っていればOK!
ダミーデータを入れることができました。
まとめ
ダミーデータを入れることができるのってすごい便利ですよね。
便利なライブラリだなあー
[…] CRUD機能を【Laravel8系】で作ってみる。 ダミーデータ入力 ↑前回はダミーデータを入れたので今回はダミーデータを全て出力(一覧)するようにしてみましょう! […]
[…] CRUD機能を【Laravel8系】で作ってみる。 ダミーデータ入力 […]