2014-02-06 5 views
2

Это мой ContentSeeder.phpLaravel PHP Class Фатальная ошибка не найден при посеве

<?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 ремесленник дб: семенные» Мой первый файл работает, но не второй, и я не понимаю, почему.

Вот следующее сообщение:

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

Вот моя модель Page находится в приложение/модели/page.php

<?php 
namespace App\Models; 

class Page extends \Eloquent { 

    protected $table = 'pages'; 

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

}  
+0

Как выглядит ваша структура сайта и вы автоматически загружаете необходимые файлы? ваша модель страницы (Page.php) находится только в приложении/моделях? –

+0

@Sydney просто добавил страницу модели – Monica

+2

Вы запустили 'php composer.phar dumpautoload' или' composer dumpautoload' (в зависимости от вашей конфигурации) из вашего корневого каталога? – Sam

ответ

6

Похоже, что вы не обновили свой Compose r автозагрузочный файл. Каждый раз, когда вы добавляете класс, который будет называться в Laravel, он должен быть включен как страница загрузки. Это можно сделать вручную с помощью include() или require(), но вы также можете запустить php composer.phar dumpautoload (или composer autoload), чтобы обновить файлы, которые автоматически загружаются на каждую страницу. Это нужно делать каждый раз, когда добавляется класс.

Для получения дополнительной информации см. Документацию Composer's autoloading.

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); 
    } 

} 
+0

Спасибо ВАМ !!! Мне было интересно, могу ли я сделать это гораздо эффективнее! Спасибо @Sheikh – Monica

+0

@Monica, Добро пожаловать :-) –

Смежные вопросы