【发布时间】:2017-01-23 02:45:30
【问题描述】:
我正在使用 laravel 5.0。我想使用 laravel 验证器,其中我的 'dbo.MS_MENU' 中的 MENU_NAME 列是唯一的。我正在使用 sql server 数据库。我已经制作了如下所示的验证器代码,但仍然出现错误
Connection.php 第 624 行中的 QueryException: SQLSTATE[23000]:[Microsoft][ODBC Driver 11 for SQL Server][SQL Server]违反 UNIQUE KEY 约束“IX_MS_MENU”。无法在对象“dbo.MS_MENU”中插入重复键。重复键值为 (Role)。 (SQL: EXEC dbo.M_INSERT_MENU_PARENT '0', '121', 'Role', 'Menu coba', '0', 'SDF')
$validator = Validator::make($request->all(), [
'MENU_NAME' => 'unique:dbo.MS_MENU']);
if ($validator->fails()) {
return redirect ('Menu')->withErrors($validator)->withInput();
}
【问题讨论】:
-
我认为错误来自数据库端..
-
如果我将 'unique:dbo.MS_MENU' 更改为 'required' 就可以了。你认为是因为 DB 吗?
-
那么我们需要在这里指定条件什么时候它是唯一的。
标签: php sql laravel validation laravel-5