本文介绍了如何用$ faker-> word获得唯一的价值?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
在laravel 5.8应用程序中,我进行测试并为遇到该行的任何测试添加新用户
In laravel 5.8 app I make tests and adding new user for any tests I encountered that line
$loggedUser= factory(User::class)->create();
引发错误:
Doctrine\DBAL\Driver\PDOException: SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry 'Username pariatur' for key 'users_username_unique'
工厂定义的:
$factory->define(App\User::class, function (Faker $faker) {
$username= 'Username ' . $faker->word;
return [
'username' => $username,
我不清除数据库,但是如何进行一系列测试却对任何测试都一无所知?
I do not clear database, but how to make in series of tests get unqiue word for any test?
推荐答案
Faker提供了三个特殊的提供程序,例如 unique()
, optional()
和 valid()
,在任何提供程序之前调用.
Faker provides three special providers like unique()
, optional()
, and valid()
, to be called before any provider.
//use unique() before calling the method
$faker->unique()->name;
这篇关于如何用$ faker-> word获得唯一的价值?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!