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”后,我的第一个文件有效,但第二个文件无效,我不明白为什么。

这是以下消息:

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

<?php
namespace App\Models;

class Page extends \Eloquent {

    protected $table = 'pages';

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

}    
4

2 回答 2

6

您似乎没有更新 Composer 的自动加载文件。任何时候你添加一个要在 Laravel 中调用的类时,都需要在页面加载时包含它。这可以使用include()or手动完成require(),但您也可以运行php composer.phar dumpautoload(or composer autoload) 来更新每个页面上自动加载的文件。每次添加类时都需要这样做。

有关更多信息,请参阅Composer 的自动加载文档。

于 2014-02-06T21:57:50.473 回答
1

看来,问题已经解决了,但我只想提一下,你也可以使用这样的东西:

class ContentSeeder extends Seeder {

    public function run()
    {
        $pages = array(

            array(
                'title'   => 'About us',
                'slug'    => 'about-us',
                'body'    => 'Lorem...',
                'user_id' => 1,
            ),

            array(
                'title'   => 'Privacy Policy',
                'slug'    => 'privacypolicy',
                'body'    => 'Lorem...',
                'user_id' => 1,
            )

            // more...
        );

        DB::table('pages')->delete();
        DB::table('pages')->insert($pages);
    }

}
于 2014-02-06T21:39:06.930 回答