teratail header banner
teratail header banner
質問するログイン新規登録

回答編集履歴

2

追記の追記

2017/10/18 08:10

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -7,4 +7,10 @@
7
7
  > 参考先を翻訳すると下記のように出てきたので、つまりAppServiceProvider.phpにuse Illuminate\Support\Facades\Schema;を加える必要があるという事でしょうか?
8
8
  英語なのでよくわかりません。
9
9
 
10
- 試してみればすぐわかることではないですか?もし上記参考と同じ現象であればそれで解決するでしょう。解決しなければ別の問題であるということです。
10
+ 試してみればすぐわかることではないですか?もし上記参考と同じ現象であればそれで解決するでしょう。解決しなければ別の問題であるということです。
11
+
12
+ # 追記の追記
13
+ `Class 'App\Providers\Schema' not found`というエラーが出る理由は、`App\Providers\AppServiceProvider`の中で`Schema::defaultStringLength(191)`という行があるからです。ここで`Schema`というクラスの`defaultStringLength`というメソッドを呼び出そうとしています。
14
+ ここでとくに名前空間の指定が無いため、**自分自身(`AppServiceProvider`)と同一の名前空間(`App\Providers`)にその`Schema`というクラスがあるはず**とPHPが`App\Providers\Schema`というクラスを探そうとします。しかし、そんなクラスは存在しないためnot foundとなります。
15
+
16
+ ここで先程修正したコードで書いた`use Illuminate\Support\Facades\Schema;`という行です。このコード(`AppServiceProvider`)で`Schema`って言ったら`Illuminate\Support\Facades\Schema`のことである、とPHPに伝える役目をしています。以降は`Schema`という表記イコール`Illuminate\Support\Facades\Schema`と解釈されるため、エラーがなくなったわけです。

1

追記

2017/10/18 08:10

投稿

masaya_ohashi
masaya_ohashi

スコア9210

answer CHANGED
@@ -1,4 +1,10 @@
1
1
  おそらくほぼ同様の症状かと思います。
2
2
  [http://munyagu.com/1362/](http://munyagu.com/1362/)
3
3
 
4
- `Class 'App\Providers\Schema' not found`で検索すればすぐ見つかりました。エラーで困ったときは、まず誰かに聞く前に自分でも少し調査しましょう。
4
+ `Class 'App\Providers\Schema' not found`で検索すればすぐ見つかりました。エラーで困ったときは、まず誰かに聞く前に自分でも少し調査しましょう。
5
+
6
+ # 追記
7
+ > 参考先を翻訳すると下記のように出てきたので、つまりAppServiceProvider.phpにuse Illuminate\Support\Facades\Schema;を加える必要があるという事でしょうか?
8
+ 英語なのでよくわかりません。
9
+
10
+ 試してみればすぐわかることではないですか?もし上記参考と同じ現象であればそれで解決するでしょう。解決しなければ別の問題であるということです。