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

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

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

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

Laravel 5

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

Q&A

1回答

2475閲覧

larevelで掲示板作成→マイグレーションができない。

Yoshi9

総合スコア6

PHP

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

Laravel 5

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

0グッド

0クリップ

投稿2018/04/16 11:22

前提・実現したいこと

laravelで掲示板を作っています。
参照しているのはこのサイトです(https://manablog.org/laravel_bulletin_board/)
①マイグレーションを下記のコードで実行しようとしたところ

php artisan migrate

以下のエラーメッセージが出ました。

発生している問題・エラーメッセージ

Illuminate\Database\QueryException : SQLSTATE[HY000] [2002] No such file or directory (SQL: select * from information_schema.tables where table_schema = bbc and table_name = migrations) at /Users/yoshiharukaneko/bbc/vendor/laravel/framework/src/Illuminate/Database/Connection.php:664 660| // If an exception occurs when attempting to run a query, we'll format the error 661| // message to include the bindings with SQL, which will make this exception a 662| // lot more helpful to the developer instead of just the database's errors. 663| catch (Exception $e) { > 664| throw new QueryException( 665| $query, $this->prepareBindings($bindings), $e 666| ); 667| } 668| Exception trace: 1 PDOException::("SQLSTATE[HY000] [2002] No such file or directory") /Users/yoshiharukaneko/bbc/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68 2 PDO::__construct("mysql:host=localhost;port=33060;dbname=bbc", "root", "root", []) /Users/yoshiharukaneko/bbc/vendor/laravel/framework/src/Illuminate/Database/Connectors/Connector.php:68 Please use the argument -v to see more details.

発生している問題、エラーメッセージ

②LaravelのSeed機能を使ってDBにダミーデータの送信を下記のコードで行おうとしたところ

php artisan db:seed --class= PostCommentSeeder
ReflectionException : Class PostCommentSeeder does not exist at /Users/yoshiharukaneko/bbc/vendor/laravel/framework/src/Illuminate/Container/Container.php:767 763| if ($concrete instanceof Closure) { 764| return $concrete($this, $this->getLastParameterOverride()); 765| } 766| > 767| $reflector = new ReflectionClass($concrete); 768| 769| // If the type is not instantiable, the developer is attempting to resolve 770| // an abstract type such as an Interface of Abstract Class and there is 771| // no binding registered for the abstractions so we need to bail out. Exception trace: 1 ReflectionClass::__construct("PostCommentSeeder") /Users/yoshiharukaneko/bbc/vendor/laravel/framework/src/Illuminate/Container/Container.php:767 2 Illuminate\Container\Container::build("PostCommentSeeder") /Users/yoshiharukaneko/bbc/vendor/laravel/framework/src/Illuminate/Container/Container.php:646 Please use the argument -v to see more details.

###その他
laravelのバージョンは5.5です。

よろしくお願いします。

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

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

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

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

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

guest

回答1

0

参考にされている記事の「DB接続の設定をする」通りに、config/database.php ファイルに MySQL への接続設定をされているのかと思います。

  • その接続先の MySQL は動いていますか?
  • そのデータベース(記事では bbc)を MySQL に作成済みでしょうか?

それでも上記のエラーとなる場合、localhost127.0.0.1 に変えてみると良いかもしれません。

php

1'host' => '127.0.0.1',

シーダクラスを追加したら、Composerのオートローダを再生成するために、以下の実行が必要です。

composer dump-autoload

ご参考: シーダの実行

また、記事では抜けているようですが、PostCommentSeeder クラスに以下の use が必要です。

php

1<?php 2 3use Illuminate\Database\Seeder; // これが必要 4 5class PostCommentSeeder extends Seeder 6{

なお、シーダクラスは、php artisan make:seeder PostCommentSeeder でスケルトンを作成できます。できるだけ自動生成で進めると間違いが無いしラクです。

投稿2018/04/17 00:03

編集2018/04/17 00:35
Lulucom

総合スコア1899

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

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

Yoshi9

2018/04/17 07:23

お返事ありがとうがございます。 ①のところのMySQLへの接続に関してなのですが。 お答えいただきました ・その接続先の MySQL は動いていますか? ・そのデータベース(記事では bbc)を MySQL に作成済みでしょうか? について詳しく教えていただけないでしょうか。 色々調べてはみたのですが、laravelとMySQLを紐つける?方法がわかりません。 お手数おかけして申し訳ありませんがよろしくお願いいたします。
Lulucom

2018/04/17 08:04 編集

そのチュートリアルを進めるためには、MySQLなどのデータベースシステムをセットアップして動かす必要があると思いますが、そこまで詳しくは書かれていないようですね。別の情報を探して学ぶ必要があると思います。 情報を探してMySQLをセットアップできますでしょうか? あるいは、SQLiteというデータベースシステムをとりあえず代わりに使っても良いかと思います。MySQLよりは簡単でお手軽かと思います。 ご参考: [Laravel 5.5 データベース:利用開始](https://readouble.com/laravel/5.5/ja/database.html)
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだベストアンサーが選ばれていません

会員登録して回答してみよう

アカウントをお持ちの方は

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問