LoginSignup
2
1

More than 5 years have passed since last update.

Laravel(v.5.5) - Admin Page & Eloquent: Getting Started & Database: Seeding

Last updated at Posted at 2017-10-13

今回やったこと

  • Adminページ作成
  • モデル作成
  • Seedデータ挿入

Adminページ作成

参考資料

laravel-adminで管理画面を速攻で構築する。

パッケージ選定

最近更新されている、新しいものにしようということでLaravel-adminを選定。
Github
Document

インストール

composer.jsonに記述を追加。
バージョンは1.5.*。
で、下記を実行。

php composer require
php artisan vendor:publish --provider="Encore\Admin\AdminServiceProvider"
php artisan admin:install

app/Adminが増えてたり色々増える。

php artisan serve

でローカルサーバー立てて、localhost:8000/adminにアクセスするとログインページ表示されるはず。

CRUD処理設定

公式DocのQuick Start見ながら進める。

謎にadmin消えてユーザー0になって困った時

php artisan db:seed --class=Encore\\Admin\\Auth\\Database\\AdminTablesSeeder

モデル作成

参考資料

Eloquent: Getting Started

モデルファイル作成

php artisan make:model User

みたいな感じでモデルファイルを作成。
このコマンドだとapp/User.phpが出来る。
このファイルにカラムの設定とかは要らないっぽい。
モデルの扱い方はまた今度。

Seedデータ挿入

幾つか書き方あるっぽいが、たくさん作るのに便利そうなFactoryファイルを用いることにする。

参考資料

Database: Seeding
Database Testing - Write Factory

Factoryファイル作成

例によってartisanコマンドでファイル生成。

php artisan make:factory PostFactory --model=Post

これだとdatabase/factories内にPostFactory.phpが生成。
最初からあるModelFactory.phpはこんな感じだよっていうサンプル。
で、Doc通りにFactory雛形(?)を作成。
Fakerでダミーのデータを入れれるので使う時は下を参考に欲しいものを使う。
Faker

Seedファイルを生成

php artisan make:seeder UsersTableSeeder

でSeedファイルを生成。

<?php

use Illuminate\Database\Seeder;

class CategoriesTableSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory(App\Category::class, 50)->create();
    }
}

こんな感じに書いた。これだと50個のダミーデータ。

Seeding

php artisan db:seed

でシートデータ挿入。
ミスった時はデバッグしてから

php artisan migrate:refresh --seed

で元通り。

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1