2

これは私のContentSeeder.phpです

 <?php

 use App\Models\Page;

 class ContentSeeder extends Seeder {

public function run()
{
    DB::table('pages')->delete();

    Page::create(array(
        'title'   => 'About us',
        'slug'    => 'about-us',
        'body'    => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
        'user_id' => 1,
    ));

    Page::create(array(
        'title'   => 'Privacy Policy',
        'slug'    => 'privacy-policy',
        'body'    => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
        'user_id' => 1,
    ));

    Page::create(array(
        'title'   => 'Terms of Use',
        'slug'    => 'terms-of-use',
        'body'    => 'Lorem ipsum dolor sit amet, consectetur adipisicing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua. Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat. Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur. Excepteur sint occaecat cupidatat non proident, sunt in culpa qui officia deserunt mollit anim id est laborum.',
        'user_id' => 1,
    ));                
}

}

「php artisan db:seed」を実行した後、最初のファイルは機能しますが、2 番目のファイルは機能しません。その理由がわかりません。

次のメッセージがあります。

PHP Fatal error: Class 'App\Models\Page' not found in C:\wamp\www\mysite\app\database\seeds\ContentSeeder.php on line 11

これが app/models/Page.php にある私の Page モデルです

<?php
namespace App\Models;

class Page extends \Eloquent {

    protected $table = 'pages';

    /*public function author()
    {
        return $this->belongsTo('User');
    }*/

}    
4

2 に答える 2

6

Composer の autoload ファイルを更新していないようです。Laravel全体で呼び出されるクラスを追加するときはいつでも、ページのロード時に含める必要があります。include()これはまたはを使用して手動で行うことができますが、 (または) をrequire()実行して、各ページに自動的に読み込まれるファイルを更新することもできます。これは、クラスが追加されるたびに行う必要があります。php composer.phar dumpautoloadcomposer autoload

詳細については、 Composer のオートローディングに関するドキュメントを参照してください。

于 2014-02-06T21:57:50.473 に答える