Rumah > pembangunan bahagian belakang > tutorial php > Bagaimana untuk Melaksanakan Pengesahan Unik Berbilang Lajur Menggunakan Peraturan::unik dalam Laravel?

Bagaimana untuk Melaksanakan Pengesahan Unik Berbilang Lajur Menggunakan Peraturan::unik dalam Laravel?

Susan Sarandon
Lepaskan: 2024-10-29 05:21:02
asal
1090 orang telah melayarinya

How to Implement Multi-Column Unique Validation Using Rule::unique in Laravel?

Menggunakan Peraturan::unik untuk Pengesahan Unik Berbilang Lajur dalam Laravel

Dalam aplikasi Laravel anda, anda mempunyai jadual bernama "pelayan" dengan dua lajur: "ip" dan "nama hos." Anda ingin memastikan bahawa gabungan dua lajur ini adalah unik, menghalang entri pendua. Walaupun anda telah melaksanakan peraturan pengesahan untuk lajur "ip", anda berhasrat untuk mengembangkan logik ini untuk memasukkan lajur "nama hos" juga.

Untuk mencapai pengesahan unik berbilang lajur ini, anda boleh memanfaatkan Laravel's Kaedah Peraturan::unik. Berikut ialah versi pengubahsuaian peraturan pengesahan anda:

<code class="php">$messages = [
    'data.ip.unique' => 'Given ip and hostname are not unique',
];

Validator::make($data, [
    'data.ip' => [
        'required',
        Rule::unique('servers')
            ->where(function ($query) use ($ip, $hostname) {
                return $query->where('ip', $ip)
                    ->where('hostname', $hostname);
            }),
    ],
], $messages);</code>
Salin selepas log masuk

Penjelasan:

  • Peraturan::unique('servers') : Menentukan bahawa peraturan pengesahan harus digunakan pada jadual "pelayan".
  • di mana: Digunakan untuk menapis semakan unik berdasarkan kriteria tambahan. Dalam kes ini, kami menapis mengikut kedua-dua lajur "ip" dan "nama hos".
  • $ip** dan **$nama hos: Pembolehubah ini diandaikan mengandungi nilai yang anda ingin mengesahkan terhadap.
  • $messages: Tatasusunan pilihan yang membolehkan anda menyesuaikan mesej ralat yang dipaparkan apabila pengesahan gagal.

Peraturan pengesahan yang dikemas kini ini akan memastikan bahawa gabungan nilai "ip" dan "nama hos" adalah unik dalam jadual "pelayan", dengan berkesan menghalang entri pendua dengan IP dan nama hos yang sama.

Atas ialah kandungan terperinci Bagaimana untuk Melaksanakan Pengesahan Unik Berbilang Lajur Menggunakan Peraturan::unik dalam Laravel?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan