【发布时间】:2020-08-12 15:15:03
【问题描述】:
我希望我的用户不要有相同的用户名和帐号,这是 2 个唯一字段,我已经有一个现有的数据库,但没有使用迁移。
RegisterController.php
protected function validator(array $data)
{
$username = Request::input('Username');
$accountnum = Request::input('AccountNum');
return Validator::make($data, [
'Username' => ['required', 'string', 'max:255','unique:UsersInfo,Username,'.$username],
'FirstName' => ['required', 'string', 'max:255'],
'LastName' => ['required', 'string', 'max:255'],
'AccountNum' => ['required', 'string', 'max:255','unique:UsersInfo,AccountNum,'.$accountnum],
'MobileNum' => ['required', 'string', 'max:255'],
'Address' => ['required', 'string', 'max:255'],
'password' => ['required', 'string', 'min:8', 'confirmed'],
]);
}
每次注册都会出现这个错误
SQLSTATE[22018]: [Microsoft][ODBC Driver 17 for SQL Server][SQL Server]Conversion failed when converting the nvarchar value 'user29' to data type int. (SQL: select count(*) as aggregate from [UsersInfo] where [Username] = user29 and [id] <> user29)
但是,当我删除 'unique:UsersInfo,Username,',$username 时,它会与帐号一起使用,它会给出一个它已经存在的错误。
【问题讨论】:
标签: php sql-server laravel