2014-10-30 31 views
0

我有一个简单的问题。在我的表单中,我创建了一个验证过程,检查数据库记录中的用户名是否存在。如何使用验证“独特”访问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到用户名?

+0

嗯所以laravel有像我不求别的功能? :( – Jerielle 2014-10-30 06:13:23

+0

这可以使用自定义文本框名称查询或验证时,因为我已经说过了在验证Laravel是使用文本框名称在数据库中查询为了让我创建一个验证,将检查用户名如果​​存在或者不是。我的表单中的文本框名称应该与数据库表中的列名相同? – Jerielle 2014-10-30 06:18:57

回答

1

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

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

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

+0

好的,我会尽力谢谢.. :) – Jerielle 2014-10-30 06:36:36