我正在尝试使用 Ardent 的 validate() 方法验证用户,但我总是收到带有以下额外信息的 HY093 错误
(SQL: select count(*) as aggregate from
:用户where
邮箱= my.email@gmail.com)
我使用 Sentry2 进行“用户”表数据库迁移。
我的用户模型设置如下:
/**
* Validation Rules for ARDENT here
*/
public static $rules = [
'first_name' => 'required',
'last_name' => 'required',
'email' => 'required|email|unique::users',
'password' => 'required|between:8,32|confirmed',
'password_confirmation' => 'required|between:8,32',
];
/**
* The attributes that can be added to a new User using $user->fill()
*
* @var array
*/
protected $fillable = [
'first_name',
'last_name',
'email',
'password',
'password_confirmation'
];
/**
* Automatically removes _confirmation attributes
*
* @var boolean
*/
public $autoPurgeRedundantAttributes = true;
从一个表单中,我有包含 ['email', 'first_name', 'last_name', 'password', 'password_confirmation] 的 POST 数据及其各自的值,这些值将转到我的 UserController 中的以下函数:
public function signup() {
// Create a new User object
$user = new User();
// Populate attributes with information described in User->fillable
$user->fill( Input::all() );
// Check if info is valid using Ardent's validate() method
if ( $user->validate() ) {
....
....
....
我的代码总是在线失败if ( $user->validate() )
。谁能帮我解释一下这种情况?