0

Ardent の validate() メソッドを使用してユーザーを検証しようとしていますが、次の追加情報を含む HY093 エラーが常に表示されます。

(SQL: select count(*) as aggregate from:ユーザーwhereのメール= my.email@gmail.com)

「users」テーブル データベースの移行には Sentry2 を使用しました。

User モデルを次のように設定しました。

/**
* 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() )行で失敗します。この状況に光を当てるのを手伝ってくれる人はいますか?

4

1 に答える 1

1

問題はこの行でした

'email' => 'required|email|unique::users'

になるはずだった

'email' => 'required|email|unique:users'

The Laravel Docsによると

于 2014-02-13T03:51:20.860 に答える