资讯专栏INFORMATION COLUMN

Laravel 5.3 Factory 新方法 state

Raaabbit / 1627人阅读

摘要:教程在具体版本是在之后可以使用的时候,模块新增了一个非常好用的方法这对于我们处理一些不同角色的时候非常有用,具体可以看下面的例子正常的,我们还是使用来定义然后比如我们中有和等。

Laravel 5.3 教程:https://www.codecasts.com/ser...

在 Laravel 5.3 (具体版本是在 5.3.17 之后可以使用)的时候,Factory 模块新增了一个非常好用的方法 state(),这对于我们处理一些不同角色的时候非常有用,具体可以看下面的例子:

正常的,我们还是使用 define 来定义 factory:

$factory->define(AppUser::class, function (FakerGenerator $faker) {
    return [
        "name" => $faker->name,
        "email" => $faker->unique()->safeEmail
    ];
});

然后比如我们中有 admin 和 member等。我们可以这样:

1.声明 admin 的 state:

$factory->state(AppUser::class, "admin", function (FakerGenerator $faker) {
    return [
        "is_admin" => 1
    ];
});

2.声明 member 的 state:

$factory->state(AppUser::class,"member", function (FakerGenerator $faker) {
    return [
        "is_member" => 1
    ];
});

最后,我们就可以在 tinker 的 factory 中这样使用:

1.执行 admin 的 states:

factory(AppUser::class, 2)->states("admin")->make()

命令行输出结果:

=> IlluminateDatabaseEloquentCollection {#704
     all: [
       AppUser {#695
         name: "Vivian Renner",
         email: "zoila85@example.org",
         is_admin: 1,
       },
       AppUser {#694
         name: "Arden Macejkovic",
         email: "dwunsch@example.org",
         is_admin: 1,
       },
     ],
   }

2.执行 member 的 state :

factory(AppUser::class, 2)->states("member")->make()

命令行输出:

=> IlluminateDatabaseEloquentCollection {#708
     all: [
       AppUser {#699
         name: "Perry Feil",
         email: "rhoda.reinger@example.org",
         is_member: 1,
       },
       AppUser {#703
         name: "Mr. Dario Jerde",
         email: "josh.kiehn@example.net",
         is_member: 1,
       },
     ],
   }

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22388.html

相关文章

  • 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结

    摘要:不过除了使用加密,还可以使用原文链接使用来调试应用程序的数据以及使用一些总结参考资料参考资料使用来调试你的参考资料框架填充中文数据测试数据 使用Tinker来调试Laravel应用程序的数据以及使用Tinker一些总结 [toc] 今天我们将讨论如何使用Laravel的一些鲜为人知的功能来快速读取Laravel应用程序中的数据。我们可以使用Laravel的手工内置php artisan...

    simon_chen 评论0 收藏0
  • 自动化测试:六个值得参考的 Laravel 开源项目

    摘要:最近我对自动化测试越来越感兴趣密切关注着,,,以及其他测试相关的关键词,所以我决定看看周围其他人是如何做自动化测试的。使用功能测试和组件测试和单元测试差不多。的所有测试包括单元测试功能测试插件测试每个区域都有对应的基类来扩展有,和。 showImg(https://segmentfault.com/img/remote/1460000018610417?w=700&h=368);最近我...

    孙吉亮 评论0 收藏0
  • Laravel数据库测试的另一种方案-SQLite

    摘要:数据库测试在测试方面,内置使用提供了非常方便的解决方案。方案优缺点该方案关键点在于使用内置的一个内存数据库,因此速度比较快,有很好的隔离性,也不会对我们的开发数据库有任何的影响。 Laravel数据库测试 在测试方面,Laravel内置使用PHPUnit提供了非常方便的解决方案。而对于数据库增删改查的测试,要解决的一个很重要的问题就是如何在测试完成之后,恢复数据库的原貌,例如要测试一个...

    rottengeek 评论0 收藏0
  • Laravel从零开发后台API(一)

    摘要:介绍在开发后台接口现在更多的企业选择了来开发后台接口当然和不失为是一种不错的选择不过这里就以为例基于框架开发后台这里也是如果你是从事其他方向想做一些后台开发都可以去尝试一下的当然实例项目我会不放在我的上仅供参考地址前期准备当然前提是安装 介绍 在开发后台接口现在更多的企业选择了PHP来开发后台接口 当然Python和NodeJs不失为是一种不错的选择 不过这里就以PHP为例 基于Lar...

    selfimpr 评论0 收藏0
  • 【译】深入研究Laravel的依赖注入容器

    摘要:原文地址下面是中文翻译拥有强大的控制反转依赖注入容器。单例在使用自动绑定和时,每次需要时都会创建一个新的实例或者调用闭包。 原文地址 Laravels Dependency Injection Container in Depth 下面是中文翻译 Laravel拥有强大的控制反转(IoC)/依赖注入(DI) 容器。不幸的是官方文档并没有涵盖所有可用的功能,因此,我决定尝试写文档为自...

    chavesgu 评论0 收藏0

发表评论

0条评论

Raaabbit

|高级讲师

TA的文章

阅读更多
最新活动
阅读需要支付1元查看
<