Edited at

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

More than 1 year has passed since last update.


今回やったこと


  • 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

で元通り。