【问题标题】:How can I validate uniqueness of two columns in Laravel 4?如何验证 Laravel 4 中两列的唯一性?
【发布时间】:2013-08-30 05:23:58
【问题描述】:

如何在 Laravel 4 中验证两列的唯一性?

假设first_namelast_name 是两列。我想检查first_name last_name 是否是唯一的。

【问题讨论】:

    标签: mysql laravel laravel-4 php-5.3


    【解决方案1】:

    有一个社区为此开发的包:https://github.com/felixkiss/uniquewith-validator

    1. 通过 Composer 安装它。在您的 composer.json 文件中,在 require 属性中添加:"felixkiss/uniquewith-validator": "dev-master"
    2. 在 config/app.php 文件中添加验证器作为提供程序:'Felixkiss\UniqueWithValidator\UniqueWithValidatorServiceProvider'
    3. 最后使用如下:

      $rules = array(
          'first_name' => 'unique_with:users,last_name',
      );
      

    检查package page

    【讨论】:

    • 不使用这个包“uniquewith-validator”就不能对多列应用唯一验证吗?我只是期望一种语法来为模型中的唯一验证编写规则,例如 'label'=>'required|unique:sections,label,'.$this->event_id.',event_id 但它给了我一个语法错误.如何在此验证中传递已发布的事件 ID,以便它可以检查数据库中是否存在任何带有所选事件 ID 的标签?
    【解决方案2】:

    您可以编写自定义验证器,

    http://laravel.com/docs/validation#custom-validation-rules

    Validator::extend('foo', function($attribute, $value, $parameters)
    {
       /*
                check whether "first_name + last_name" is unique with SQL. Pass them as  parameters 
       */
    });
    

    【讨论】:

      猜你喜欢
      • 2014-08-08
      • 1970-01-01
      • 2012-10-10
      • 2018-04-28
      • 2022-01-25
      • 2014-12-16
      • 2020-04-18
      • 1970-01-01
      相关资源
      最近更新 更多