私はすべてを本で行います:
インストールされたフレッシュLaravel 5.3.9アプリ(フレッシュでないアプリはすべて同じエラーを生成します)
php artisan make:auth
を実行します
新しいテーブルの移行を作成する `php artisan make:migration create_quotations_table --create = quotations
Schema::create('quotations', function (Blueprint $table) {
$table->increments('id');
$table->string('text');
// my problem persists even with the below two columns commented out
$table->integer('creator_id')->unsigned()->index('creator_id');
$table->integer('updater_id')->unsigned()->index('updater_id');
$table->softDeletes();
$table->timestamps();
});
次に、php artisan migrate
を実行します
次に、新しいシードphp artisan make:seeder QuotationsTableSeeder
を定義します
単純な挿入を追加した後のファイルの完全なコンテンツ:
<?php
use Illuminate\Database\Seeder;
class QuotationsTableSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
DB::table('quotations')->insert([
'text' => str_random(10),
]);
}
}
php artisan db:seed
を実行します単に機能しません。フィードバックが表示されず、ログファイルにエラーがありません。 probemは、ローカル環境(Win7、最新のWAMPサーバー)とUbuntu 16.04を搭載したDigital Ocean VPSの両方で持続します。上記のすべての手順をいくつかの個別のアプリで実行しましたが、結果はありません。また、Laragon 2.0.5サーバーの下。
php artisan optimize
ここで提案したとおり 。
composer dump-autoload
i php artisan clear-compiled
も結果がありません
また、公式ドキュメントの例に従ってシードを試みました-失敗しました。
use DB;
をシードファイルに追加しました-それでも結果はありません。
助けて!!!なぜ機能しないのですか?
DatabaseSeeder
クラス内でシーダーを呼び出していますか?こちらです:
database/seeds/DatabaseSeeder.php
class DatabaseSeeder extends Seeder
{
/**
* Run the database seeds.
*
* @return void
*/
public function run()
{
$this->call(QuotationTableSeeder::class);
}
}
または、次のように--class
コマンドを使用するときにphp artisan db:seed
オプションを追加します。
php artisan db:seed --class="QuotationTableSeeder"
シーダーを作成または削除した後、次のコマンドを実行することを忘れないでください:
composer dump-autoload
他の誰かが同時に移行とシードで問題を抱えている場合は、試してください
php artisan migrate:fresh --seed
私のために働いた..