使用动态计算属性覆盖模型出厂默认值

时间:2016-01-29 16:18:05

标签: php laravel

免责声明:几乎没有使用PHP的经验。

使用'tinker'...我已经创建(和持久)两个分别具有id 1,2的用户模型。现在,我想创建一些帖子(Post模型),我想覆盖默认属性,使其成为1到2之间的随机数(根据用户ID)。

我怎样才能做到这一点?我无法真正传递到像

这样的覆盖数组
[‘user_id’ => rand( 1, 2 )] 

因为这只会计算一次,所以所有帖子都会有相同的用户。此外,我不想覆盖ModelFactory.php中的属性,因为我希望动态计算user_id范围。

提前致谢。

SK

1 个答案:

答案 0 :(得分:2)

你可以通过' user_id'在方法中 - > create();

factory(App\Post::class, 2)->create(['user_id' => rand(1, 2)]);

希望有所帮助