2013-05-26 199 views
0

我想知道如何驗證字段只有一個(多個)。例如, 。我有一個有限制的Permission模型,其中兩個字段是唯一的。驗證數據庫唯一約束

權限遷移

Schema::create('permissions', function (Blueprint $table) { 
    $table->increments('id'); 
    $table->string('namespace')->nullable(); 
    $table->string('name'); 
    $table->unique(array('namespace', 'name')); 
}); 

我知道Validator類具有獨特的規則,但我認爲這只是一個字段,而不是兩個或更多。

class Permission extends BaseModel { 

    protected $table = 'permissions'; 

    public static $rules = array(
     'name'  => 'required|alpha', 
     'namespace' => 'alpha' 
    ); 
} 

class BaseModel extends Eloquent 
{ 
    public $errors; 

    public static function boot() 
    { 
     parent::boot(); 
     static::saving(function($model) 
     { 
      return $model->validate(); 
     }); 
    } 

    public function validate() 
    { 
     $validation = Validator::make($this->attributes, static::$rules); 

     if($validation->passes()) return true; 

     $this->errors = $validation->messages(); 

     return false; 
    } 

} 

我的問題是如何驗證這些情況,其中在數據庫唯一約束中有多個字段。

回答