如何在 laravel 5 新增自訂類別(class)




$ php artisan db:seed
這條指令只會執行預設的DatabaseSeeder.php這個檔案,想讓他一起呼叫資料填充類別

首先你要先在composer.json中設定你的目錄指向,"autoload"中新增"Database"

"autoload": {
        "classmap": [
            "database"
        ],
        "psr-4": {
            "App": "app/",
            "Database": "database/"
        }
    }

執行 $ composer dump-autoload 讓composer讀進變更

然後在 database/seeds/ArticlesSeeder.php (透過$ php artisan make:seeder 建立的自訂class) 加上namespace

<?php
namespace Databaseseeds;
use IlluminateDatabaseSeeder;
use DB;
class ArticlesSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        //
        DB::table('articleclass')->insert([
            'classname' => str_random(10)
        ]);
    }
}

最後在 database/seeds/DatabaseSeeder.php中加上
use DatabaseseedsArticlesSeeder;

public function run()中呼叫class

$ArticleSeeder = new ArticlesSeeder();
$ArticleSeeder->run();

psr-4補充

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

這個網站採用 Akismet 服務減少垃圾留言。進一步瞭解 Akismet 如何處理網站訪客的留言資料