laravel的 db:seed 保存,[ReflectionException] Class AdminUsersTableSeeder does not exist

今天使用了下 seeder 來填充數據,常用的幾個命令:  
    填充器默認路徑:  
        database/seeders/  
    系統自帶:  
        DatabaseSeeder.php  
    填充器執行,默認的調用的是 'run()' 方法  
    創建:  
        php artisan make:seeder AdminUserTableSeeder  
    運行:  
        php artisan db:seed     // 默認調用的是 'DatabaseSeeder->run()',我們可在內部調用其它的填充器  
        php artisan db:seed --class=AdminUserTableSeeder        // 調用指定的填充器  
    重建數據庫:  
        php artisan migrate:refresh --seed  
  
    今天主要描述一個問題:  
        1.我先調用:  
            php artisan make:seeder AdminUserTableSeeder  
        2.生成一個 'AdminUserTableSeeder' 類,但是發現,應該命名爲 'AdminUsersTableSeeder',用戶應該爲複數。然後我就手動修改了文件&文件內部的類名。  
        3.執行:  
            php artisan db:seed  
          直接報錯:  
            [ReflectionException] Class AdminUsersTableSeeder does not exist  
  
    解決方法:  
        composer dump-autoload  
  
    具體可查看:  
        'http://stackoverflow.com/questions/30176194/laravel-5-db-seed-class-not-found'  
  
    看了別人解釋,立馬想到,php artisan 命名,可能生成了一些 composer 相關的緩存,去 'vendor/composer/' 發現了幾個autoload_xx.php文件,這裏就是 composer 自動加載的文件列表!也同 'composer.json' 中的 'autoload' 的配置,有很大關聯!  
  
    總結:  
        本質上還是不懂composer、以及 php artisan 命令的本質!這裏隨便搜了下,有篇文章,我也沒看,有時間再看:  
        https://laravel-china.org/topics/1002  

發佈了41 篇原創文章 · 獲贊 98 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章