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>
Penjelasan:
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!