sql >> データベース >  >> RDS >> Mysql

Laravel4で結合された一意のフィールドバリデータールールを追加する方法

    カスタムバリデータールールを作成できます。ルールは次のようになります。

    'unique_multiple:table,field1,field2,field3,...,fieldN'
    

    そのためのコードは次のようになります:

    Validator::extend('unique_multiple', function ($attribute, $value, $parameters)
    {
        // Get table name from first parameter
        $table = array_shift($parameters);
    
        // Build the query
        $query = DB::table($table);
    
        // Add the field conditions
        foreach ($parameters as $i => $field)
            $query->where($field, $value[$i]);
    
        // Validation result will be false if any rows match the combination
        return ($query->count() == 0);
    });
    

    条件には必要な数のフィールドを使用できます。渡される値が、検証ルールで宣言されているのと同じ順序でフィールドの値を含む配列であることを確認してください。したがって、バリデーターコードは次のようになります。

    $validator = Validator::make(
        // Validator data goes here
        array(
            'unique_fields' => array('examdate_value', 'batch_value', 'chapter_value')
        ),
        // Validator rules go here
        array(
            'unique_fields' => 'unique_multiple:exams,examdate,batch,chapter'
        )
    );
    


    1. 単純なPostgreSQLスクリプトで変数をどのように使用しますか?

    2. PostgreSQLのOracle高可用性の概念

    3. T-SQLで日付から30日を引く方法

    4. 1つの列の値に基づいて重複する行を削除します