Laravel 8 寫工廠

2021-07-26 09:32 更新

首先,請查看應(yīng)用程序中的 database/factories/UserFactory.php 文件。 開箱即用,此文件包含以下工廠定義:

    namespace Database\Factories;

    use App\Models\User;
    use Illuminate\Database\Eloquent\Factories\Factory;
    use Illuminate\Support\Str;

    class UserFactory extends Factory
    {
        /**
         * The name of the factory's corresponding model.
         *
         * @var string
         */
        protected $model = User::class;

        /**
         * Define the model's default state.
         *
         * @return array
         */
        public function definition()
        {
            return [
                'name' => $this->faker->name,
                'email' => $this->faker->unique()->safeEmail,
                'email_verified_at' => now(),
                'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password
                'remember_token' => Str::random(10),
            ];
        }
    } 

如您所見,工廠是最基本的形式,它們是擴(kuò)展 Laravel 基本工廠類并定義 model 屬性和 definition 方法的類。definition 方法返回使用工廠創(chuàng)建模型時應(yīng)用的默認(rèn)屬性值集。

通過 faker 屬性, 工廠可以訪問 Faker PHP 函數(shù)庫, 它允許你便捷的生成各種隨機(jī)數(shù)據(jù)來進(jìn)行測試。

技巧:你也可以在 config/app.php 配置文件中添加 faker_locale 選項(xiàng)來設(shè)置 Faker 的語言環(huán)境。


以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號