我想创建一组伪造用户,使用随机字符串名称,我将稍后使用这些ID。我遇到了一个错误,它不能识别我通过的一些变量。下面是我的代码:雄辩firstOrNew()查询不识别传递给它的参数
$password = bcrypt($this->generateRandomString(15));
$user = User::firstOrNew([
'email' => ($firstName . '@company.com'),
'password' => $password,
'username' => $username,
'firstname' => $firstName,
'lastname' => $lastName,
]);
$user->save();
$userIds[] = $user->id;
以防万一,我使用firstOrNew与随机用户名的用户已输入,在这种情况下,我就用它的ID。
我知道$username
,$firstName
和$lastName
都在通过测试这些对象的数据,但不管是什么原因,我得到关于上'username'
重复错误的错误,因为它认为,字段为空(“”),甚至尽管我知道我的变量不是。
换句话说,SQL语句只传递电子邮件和密码,而不传递其他三个变量。有什么想法吗?
错误消息:
[Illuminate\Database\QueryException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '[email protected]' for key 'users_email_unique' (SQL: insert into
`users` (`email`, `password`, `username`, `updated_at`, `created_at`) values ([email protected], y$rx8R0N5dVAibjpXxV0OF4uGGb7lradsl2xME
20ymMvv2YPaUWv3oq, olliepritsak, 2016-07-14 18:10:10, 2016-07-14 18:10:10))
[PDOException]
SQLSTATE[23000]: Integrity constraint violation: 1062 Duplicate entry '' for key 'users_username_unique'
什么是错误? –
什么是$用户名值? –
^这是您模型上的可填充字段吗? –