如何使用验证'unique'访问Laravel中的自定义文本框名称?

时间:2014-10-30 06:05:50

标签: php mysql validation laravel

我有一个简单的问题。在我的表单中,我正在创建一个验证过程,检查数据库记录中的用户名是否存在。

我的问题是Laravel验证使用文本框名称作为其查询中的列名。 在我的表中,我有以下列:

用户名, 姓, 名字, 密码

在我的文本框中,我有这个:

admin_username, admin_lastname, admin_firstname, ADMIN_PASSWORD

所以我收到了这个错误:

Illuminate \ Database \ QueryException (42S22) 
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'admin_username' in 'where clause' (SQL: select count(*) as aggregate from `administrators` where `admin_username` = flaxadmin123)

这是我验证的结果:

'admin_username'    =>  'required|min:5|max:15|unique:administrators',

如何在验证或查询时将admin_username更改为用户名?

1 个答案:

答案 0 :(得分:1)

您可以在验证中指定自定义列名称。

'admin_username'    =>  'required|min:5|max:15|unique:administrators,username',

这将使用用户名列而不是 admin_username