码迷,mamicode.com
首页 > 其他好文 > 详细

Laravel5.1 模型--ModelFactory

时间:2017-09-14 23:57:42      阅读:409      评论:0      收藏:0      [点我收藏+]

标签:自带   使用   cal   一个   系统   extend   body   str   ase   

今天要说的是模型工厂,它是可以快速生成一些测试数据的东西,之前我们介绍过Seeder,当我们使用模型访问数据时 可以用模型工厂搭配Seeder使用。

 


 1 编写一个ModelFactory

ModelFactory的路径在 database/factories/ 下:

// 这是系统自带的工厂
$factory->define(App\User::class, function ($faker) {
    return [
        ‘name‘ => $faker->name,
        ‘email‘ => $faker->email,
        ‘password‘ => str_random(10),
        ‘remember_token‘ => str_random(10),
    ];
});

// 这是我们写的工厂
$factory->define(App\Article::class, function (Faker\Generator $faker) {
    return [
        ‘title‘ => $faker->sentence,
        ‘body‘ => $faker->paragraph,
        ‘comment_count‘ => rand(1,50),
    ];
});

 


 2 在seeder中使用

编写完模型工厂后就可以在seeder中使用了:

class ArticlesSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        factory(\App\Article::class, 10)->create();
    }
}
class DatabaseSeeder extends Seeder
{
    /**
     * Run the database seeds.
     *
     * @return void
     */
    public function run()
    {
        Model::unguard();
        $this->call(‘ArticlesSeeder‘);
        Model::reguard();
    }
}

 

Laravel5.1 模型--ModelFactory

标签:自带   使用   cal   一个   系统   extend   body   str   ase   

原文地址:http://www.cnblogs.com/sun-kang/p/7518547.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!