質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.46%
Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

artisan

artisanは、PHP Laravelフレームワークのコマンドの事です。 Artisanコマンドを使う事で、DBのテーブルやバンドル等を追加することができるコマンドです。

Q&A

解決済

1回答

2348閲覧

LaravelのSeederについて

KonoLv1

総合スコア35

Laravel

LaravelとはTaylor Otwellによって開発された、オープンソースなPHPフレームワークです。Laravelはシンプルで表現的なシンタックスを持ち合わせており、ウェブアプリケーション開発の手助けをしてくれます。

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

コマンド

コマンドとは特定のタスクを行う為に、コンピュータープログラムへ提示する指示文です。多くの場合、コマンドはShellやcmdようなコマンドラインインターフェイスに対する指示文を指します。

artisan

artisanは、PHP Laravelフレームワークのコマンドの事です。 Artisanコマンドを使う事で、DBのテーブルやバンドル等を追加することができるコマンドです。

0グッド

0クリップ

投稿2020/05/24 04:03

お世話になっております。Laravel学習中のKonoLv1と申します。

LaravelのSeederについて、開発環境と本番環境で分けたく思い
ディレクトリ構成を以下のようにしたく考えております。

database seeds DatabaseSeeder 開発ディレクトリ HogeASeeder HogeBSeeder 本番ディレクトリ HogeBSeeder

もしくは

database seeds 開発ディレクトリ DatabaseSeeder HogeASeeder HogeBSeeder 本番ディレクトリ HogeBSeeder

上記の構成にした場合、

php artisan db:seed --class=開発ディレクトリ/HogeASeeder

のようにコマンドで個別にSeederを実行することは可能でしょうか?
可能であればどのようなやり方で実装できるかヒントをいただければ幸いです。
何卒よろしくお願い申し上げます。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答1

0

ベストアンサー

php

1 2class DatabaseSeeder extends Seeder 3{ 4 /** 5 * Seed the application's database. 6 * 7 * @return void 8 */ 9 public function run() 10 { 11 // 本番環境 12 if (App::isProduction()) { 13 $this->call([ 14 CompanySeeder::class, 15 UserSeeder::class, 16 ]); 17 } 18 // 開発環境 19     else { 20 $this->call([ 21 CompanySeeder::class, 22 ]); 23 } 24 } 25}

こうすれば、環境に関わらず

php artisan db:seed

するだけで済む

投稿2020/05/24 04:23

phper.k

総合スコア3923

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

KonoLv1

2020/05/24 04:43

phper.kさん、ありがとうございます。 上記の場合ですと、seedsディレクトリに全てのseederファイルを置くことになると思うのですが ディレクトリを分けてこれを実行する方法はご存知ありませんでしょうか?
phper.k

2020/05/24 04:55

composer.json でseeds のディレクトリを設定している部分はありますが、ここをゴニョゴニョすればできるかもしれませんが、自分はその必要もないし、将来的にも必要になることはないと思いますので、ここから先は、ご自身で試行錯誤してみてください。 "autoload": { "psr-4": { "App\": "app/" }, "classmap": [ "databaseseeds", "database/factories" ] }, Illuminate\Database\Console\Seeds\SeedCommand がコマンドの定義しているファイルです。 このソースコードを読んで改造すればできると思います。
KonoLv1

2020/05/24 05:00

ありがとうございます。参考にさせていただきます! ベストアンサーとさせていただきます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.46%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問