0

それで、Laravel 5.1 をいじり始めました。「教師」という名前の移行でモデルを作成しました。次に、Teachers クラスを含む Teachers.php というモデル ファイルを手動で削除しました。ロールバックしようとすると、次のエラーが表示されます。

[Symfony\Component\Debug\Exception\FatalErrorException]  
  Class 'CreateTeachersTable' not found

試しcomposer dump-autoloadてみましたがphp artisan migrate:refreshphp artisan migrate:reset上記のエラーが発生し続けます。私はただ新たに始めたいだけです。すべてをリセットする方法は?

4

3 に答える 3

2

Ok。だから私は解決策を見つけました。したがってphp artisan migrate:rollback、上記のコマンドを使用せずにモデル ファイルまたは移行ファイルを誤って削除すると、migrate コマンドで問題が発生します。だからあなたがする必要があるのは、データベースからすべてのテーブルを手動で削除することです。私はsqliteデータベースを使用していましたが、migrationコマンドによって生成されたすべてのテーブルの移行、ユーザー、質問、教師、password_resetsを削除しました。それから私は走りましcomposer dumpautoloadた。次にphp artisan migrate、ファイルに変更を加えた後にコマンドを再度実行すると、すべてが正常に戻りました。したがって、基本的に移行テーブルを削除すると問題が解決します。

于 2015-10-21T19:41:47.627 に答える
1

移行をrefresh行うと、Laravel はmigrationsテーブルを確認し、そこにある値を使用して移行ファイルをロードしてロールバックします。

手動で移行ファイルを削除したため、migrationsテーブルから削除されませんでした。特定の移行ファイルのテーブルの行を手動で削除する必要があります。

于 2015-10-21T20:12:41.717 に答える
0

まず、プロジェクト フォルダー内で完全な検索を実行して、そのクラスがまだどこかで参照されているかどうかを確認します。そうでない場合は、次のコマンドを実行してみてください。

php artisan clear-compiled

于 2015-10-21T19:22:47.807 に答える