Mysql
 sql >> Teknologi Basis Data >  >> RDS >> Mysql

Bagaimana cara menambahkan aturan validator bidang unik gabungan di Laravel 4

Anda bisa menulis aturan validator khusus. Aturannya bisa terlihat seperti ini:

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

Kode untuk itu akan terlihat seperti ini:

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);
});

Anda dapat menggunakan bidang sebanyak yang Anda suka untuk ketentuan tersebut, pastikan nilai yang diteruskan adalah larik yang berisi nilai bidang dalam urutan yang sama seperti yang dideklarasikan dalam aturan validasi. Jadi kode validator Anda akan terlihat seperti ini:

$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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. hapus baris terakhir dalam tabel menggunakan kueri sql?

  2. Bagaimana cara menginstal paket MySQLdb? (ImportError:Tidak ada modul bernama setuptools)

  3. 10 praktik terbaik teratas di MySQL

  4. Peringatan:PDOStatement::execute():SQLSTATE[HY093]:Nomor parameter tidak valid:parameter tidak ditentukan di...filetext

  5. Cara mengubah port default mysql dari 3306 menjadi 3360