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

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

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

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

Q&A

解決済

3回答

1713閲覧

docker + laravel で seed をしたい。

退会済みユーザー

退会済みユーザー

総合スコア0

Docker

Dockerは、Docker社が開発したオープンソースのコンテナー管理ソフトウェアの1つです

Laravel 5

Laravel 5は、PHPフレームワークLaravelの最新バージョンで、2014年11月に発表予定です。ディレクトリ構造がが現行版より大幅に変更されるほか、メソッドインジェクションやFormRequestの利用が可能になります。

0グッド

0クリップ

投稿2018/10/13 11:08

編集2018/10/14 09:10

docker と laravel の環境で seed をしたく、php artisan db:seedを実行しました。
そうすると以下のエラーが出てしまいます。

Class UsersTableSeeder does not exist

調べると名前空間のマッピングが必要らしくcomposer dump-autoloadを実行する必要があるらしいです。
しかし、dockerでの開発のため、どのように実行したらいいか正確なコードが得られませんでした。
どのようにしたらいいか、正解を知っている方がいましたら教えてください。

下記周辺ファイルを追記しておきます。

DatabaseSeeder

1<?php 2 3use Illuminate\Database\Seeder; 4 5class DatabaseSeeder extends Seeder 6{ 7 /** 8 * Seed the application's database. 9 * 10 * @return void 11 */ 12 public function run() 13 { 14 $this->call(UsersTableSeeder::class); 15 } 16} 17

UsersTableSeeder

1<?php 2 3use Illuminate\Database\Seeder; 4 5class UsersTableSeeder extends Seeder 6{ 7 /** 8 * Run the database seeds. 9 * 10 * @return void 11 */ 12 public function run() 13 { 14 $param =[ 15 'name' => 'name', 16 'email' => 'fugafuga@example.com', 17 'password' => 'hogehoge', 18 ]; 19 DB::table('users')->insert($param); 20 } 21} 22

CreateUsersTable

1<?php 2 3use Illuminate\Support\Facades\Schema; 4use Illuminate\Database\Schema\Blueprint; 5use Illuminate\Database\Migrations\Migration; 6 7class CreateUsersTable extends Migration 8{ 9 /** 10 * Run the migrations. 11 * 12 * @return void 13 */ 14 public function up() 15 { 16 Schema::create('users', function (Blueprint $table) { 17 $table->increments('id'); 18 $table->string('name'); 19 $table->string('email')->unique(); 20 $table->timestamp('email_verified_at')->nullable(); 21 $table->string('password'); 22 $table->rememberToken(); 23 $table->timestamps(); 24 }); 25 } 26 27 /** 28 * Reverse the migrations. 29 * 30 * @return void 31 */ 32 public function down() 33 { 34 Schema::dropIfExists('users'); 35 } 36} 37

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

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

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

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

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

退会済みユーザー

退会済みユーザー

2018/10/13 11:38

> Class UsersTableSeeder does not exist エラーから素朴に考えると単純にSeederのソースコードが誤っているのではないかと思いますがそれは有り得ないのでしょうか?
退会済みユーザー

退会済みユーザー

2018/10/14 09:11

周辺ファイルを追記しました。参考書どうりに記述したため、誤りはないように思います。
guest

回答3

0

ベストアンサー

https://readouble.com/laravel/5.6/ja/seeding.html

シーダクラスを書き上げたら、Composerのオートローダを再生成するために、dump-autoloadコマンドを実行する必要があります。

確かに composer dump-autoload 要りそうですね。
composer dump-autoloadphp artisan コマンドと同じように実行すれば良いです。

先の回答者さんとのやり取りからdocker-composeとcomposerを混同しているのではないかと思ったので補足で、

  • docker-compose dockerのコンテナオーケストレーションツール
  • composer PHPのパッケージ管理マネージャ

両者は全く別物です。

投稿2018/10/14 09:49

退会済みユーザー

退会済みユーザー

総合スコア0

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

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

退会済みユーザー

退会済みユーザー

2018/10/14 10:12

自分の認識に誤りがあったようです。 composerをダウンロードしてからautoloadをすることができて、シードもすることができました。ありがとうございました。
退会済みユーザー

退会済みユーザー

2018/10/15 01:16

brewでcomposer入れて動かすのならdocker使う意味ないのでは?と思いましたがひとまず解決したようで良かったです。
guest

0

使用されているdockerはどのように構築されましたか?
Laradockでしょうか?

投稿2018/10/14 09:39

hrsi_teratail

総合スコア93

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

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

退会済みユーザー

退会済みユーザー

2018/10/14 10:10

自分の認識に誤りがあったようです。 回答ありがとうございました。
guest

0

docker内にcomposerありますか?

なければ、composerインストールします。

投稿2018/10/13 11:47

hrsi_teratail

総合スコア93

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

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

退会済みユーザー

退会済みユーザー

2018/10/14 09:13

docker-compose をインストール済みです。docker 環境とは別にphp側でcomposerをインストールする必要があるのでしょうか? docker開発が初めてなので、浅学で申し訳ありません。
hrsi_teratail

2018/10/14 09:39

docker-composeとcomposerは別なものです。
退会済みユーザー

退会済みユーザー

2018/10/14 10:09

自分の認識に誤りがあったようです。 brew で composer をインストールしてからコマンドを実行することができました。 ありがとうございます。
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.50%

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

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

質問する

関連した質問