2013-05-26 155 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; 
    } 

} 

我的问题是如何验证这些情况,其中在数据库唯一约束中有多个字段。

回答