【问题标题】:Validate DB Unique constraits验证数据库唯一约束
【发布时间】:2013-05-21 17:13:42
【问题描述】:

我想知道如何仅验证字段(多个)。 例如。我有一个 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;
    }

}

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

【问题讨论】:

    标签: php validation laravel laravel-4 eloquent


    【解决方案1】:

    没有本地方法可以验证这一点。如果你看Custom ValidatorsUniqueness Validation,您应该能够提出适合您需求的解决方案。

    如果您不需要通用的东西,可以查看this example

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-30
      • 2015-05-08
      • 2019-02-24
      • 2015-11-13
      • 2016-05-01
      • 2019-10-10
      相关资源
      最近更新 更多