2012-12-28 11 views
25

は、この質問は解決されました - 私は、下記の使用:Laravel 4つの移行 - クラスが見つからない

そして、問題はIRCのおかげで解決しました。私は実行するように言われました

php composer.phar dump-autoload 

これは私の問題を解決します。私の奇妙なComposerセットアップに関連している可能性があります。私はちょうどLaravel 3から来て、将来のプロジェクトのためにLaravel 4で遊んで始めました


私は職人を使ってcreate_blogs_table、新しい移行を作成することでオフ始めている:

php artisan migrate:make create_blogs_table --table=blogs --create 

この私は今、再び職人を使って、この移行を実行しようと

<?php 

use Illuminate\Database\Migrations\Migration; 

class CreateBlogsTable extends Migration 
{ 

    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('blogs', function($table) 
     { 
      $table->increments('id'); 
      $table->string('title'); 
      $table->text('description')->nullable(); 
      $table->integer('user_id')->unsigned(); 
      $table->timestamps(); 
     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('blogs'); 
    } 
} 

::私は、もう少しを記入し、基本的な移行ファイル構造を生成

php artisan migrate --env=local 

*私は以前

これは(Laravel 3で)うまく動作します.dev拡張子を持つドメインの設定ローカル・データベース接続を持って注意したが照らしなさいと、私は、このエラーが表示されます。

PHP Fatal error: Class 'CreateBlogsTable' not found in /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php on line 301 
PHP Stack trace: 
PHP 1. {main}() /var/www/gamingsite/artisan:0 
PHP 2. Symfony\Component\Console\Application->run() /var/www/gamingsite/artisan:57 
PHP 3. Symfony\Component\Console\Application->doRun() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Application.php:106 
PHP 4. Illuminate\Console\Command->run() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Application.php:193 
PHP 5. Symfony\Component\Console\Command\Command->run() /var/www/gamingsite/vendor/illuminate/console/src/Illuminate/Console/Command.php:95 
PHP 6. Illuminate\Console\Command->execute() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:240 
PHP 7. Illuminate\Database\Console\Migrations\MigrateCommand->fire() /var/www/gamingsite/vendor/illuminate/console/src/Illuminate/Console/Command.php:107 
PHP 8. Illuminate\Database\Migrations\Migrator->run() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:69 
PHP 9. Illuminate\Database\Migrations\Migrator->runMigrationList() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:75 
PHP 10. Illuminate\Database\Migrations\Migrator->runUp() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:106 
PHP 11. Illuminate\Database\Migrations\Migrator->resolve() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:125 
PHP Fatal error: Uncaught exception 'UnexpectedValueException' with message 'The stream or file "/var/www/gamingsite/app/start/../storage/logs/log-2012-12-28.txt" could not be opened: failed to open stream: Permission denied' in /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php:71 
Stack trace: 
#0 /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Handler/RotatingFileHandler.php(77): Monolog\Handler\StreamHandler->write(Array) 
#1 /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Handler/AbstractProcessingHandler.php(37): Monolog\Handler\RotatingFileHandler->write(Array) 
#2 /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Logger.php(214): Monolog\Handler\AbstractProcessingHandler->handle(Array) 
#3 /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Logger.php(278): Monolog\Logger->addRecord(400, Object(Symfony\Component\HttpKernel\Exception\FatalErrorException), Array) 
#4 [internal function]: Monolog\Logger->addError(Object(Symfony\Component\HttpKernel\Exception\FatalErrorExcepti in /var/www/gamingsite/vendor/monolog/monolog/src/Monolog/Handler/StreamHandler.php on line 71 
PHP Stack trace: 
PHP 1. {main}() /var/www/gamingsite/artisan:0 
PHP 2. Symfony\Component\Console\Application->run() /var/www/gamingsite/artisan:57 
PHP 3. Symfony\Component\Console\Application->doRun() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Application.php:106 
PHP 4. Illuminate\Console\Command->run() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Application.php:193 
PHP 5. Symfony\Component\Console\Command\Command->run() /var/www/gamingsite/vendor/illuminate/console/src/Illuminate/Console/Command.php:95 
PHP 6. Illuminate\Console\Command->execute() /var/www/gamingsite/vendor/symfony/console/Symfony/Component/Console/Command/Command.php:240 
PHP 7. Illuminate\Database\Console\Migrations\MigrateCommand->fire() /var/www/gamingsite/vendor/illuminate/console/src/Illuminate/Console/Command.php:107 
PHP 8. Illuminate\Database\Migrations\Migrator->run() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Console/Migrations/MigrateCommand.php:69 
PHP 9. Illuminate\Database\Migrations\Migrator->runMigrationList() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:75 
PHP 10. Illuminate\Database\Migrations\Migrator->runUp() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:106 
PHP 11. Illuminate\Database\Migrations\Migrator->resolve() /var/www/gamingsite/vendor/illuminate/database/src/Illuminate/Database/Migrations/Migrator.php:125 

確認しましたが、データベース/移行/フォルダが確実に自動読み込みされています。私はこの問題の原因が何であるか分かりません。 IRCに尋ねられたと私はまだ完全に無知なので、うまくいけば誰かが私をここで助けることができます。

ありがとうございます!

答えて

16

Laravel 4(照明)の移行クラスでは、符号なしメソッドを設定する必要はありません。これを試すことができます。

class CreateBlogsTable extends Migration 
{ 

    /** 
    * Run the migrations. 
    * 
    * @return void 
    */ 
    public function up() 
    { 
     Schema::create('blogs', function($table) 
     { 
      $table->increments('id'); 
      $table->string('title'); 
      $table->text('description')->nullable(); 
      $table->integer('user_id'); 
      $table->timestamps(); 
     }); 
    } 

    /** 
    * Reverse the migrations. 
    * 
    * @return void 
    */ 
    public function down() 
    { 
     Schema::drop('blogs'); 
    } 
} 

はあなたとチャットを持った後、私は1つが、すでに上記およびその他の問題が作曲自動ロードに登録されていないクラスによるものであるということである、二つの問題を知っていました。手動で実行する必要があります:PHPのcomposer.pharダンプ、自動ロード

+2

ちょうどそれを試してもまだ運がありません。私はまだクラスにエラーが見つかりません。 – euantorano

+0

私はちょうど答えを更新しました。 – Raftalks

+14

は同じ問題を抱え、 'php composer.phar dump-autoload'が動作しました。 – Rob

28

私はXubuntuの上でこのエラーが発生したとの固定には、sudoの作曲ダンプ、自動ロードと

+4

それは私のために働いた! – Ortix92

15

職人同じ作業を行います。

php artisan dump-autoload 

composerに精通していない人のためのちょっとした思い出です。

+0

これは、実際には、最適化されたクラスマップを生成するので、コンポーザーを使用するよりも優れています – developerbmw

+0

実際にはこのコマンドは存在しませんでしたが、 'composer dump-autoload'が問題を解決しました。ありがとう!アイデアのために、少なくとも。 – IIllIIll

+0

問題を探している人は、この質問が3年前であり、laravelのバージョンが4であることに気づいてください。ソフトウェア自体も変化し続けています。つまり、**このコマンドは最新の職人**には存在しません。ありがとうございました。 – Yarco

-1

あなたの作曲家(composer self-update)を更新し、あなたの作曲家の機能を実行してください。

関連する問題