我想創建一組僞造用戶,使用隨機字符串名稱,我將稍後使用這些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'
什麼是錯誤? –
什麼是$用戶名值? –
^這是您模型上的可填充字段嗎? –