Rumah  >  Artikel  >  rangka kerja php  >  Bagaimana untuk mengesahkan sama ada laravel unik

Bagaimana untuk mengesahkan sama ada laravel unik

PHPz
PHPzasal
2023-04-23 09:14:471146semak imbas

Dalam rangka kerja Laravel, mengesahkan keunikan data input ialah keperluan biasa. Sebagai contoh, sahkan e-mel atau nombor telefon mudah alih pengguna untuk memastikan bahawa mereka tidak akan didaftarkan berulang kali.

Laravel menyediakan peraturan pengesahan yang sangat mudah - unik. Apabila menyerahkan borang, anda hanya perlu menambah unique:table,column pada peraturan, contohnya:

'username' => 'required|unique:users,username|max:255',
'email' => 'required|unique:users,email|max:255|email',

Dalam kod di atas, peraturan unik menentukan pengguna jadual pengesahan keunikan dan nama pengguna medan atau e-mel Ini Ia akan dijamin bahawa tiada pengguna lain menggunakan nama pengguna atau alamat e-mel yang sama.

Walau bagaimanapun, dalam aplikasi praktikal, peraturan unik tidak dapat memenuhi keperluan kami sepenuhnya. Contohnya, apabila kami mengemas kini sekeping data, peraturan pengesahan keunikan asal mungkin melaporkan ralat kerana nilai yang kami kemas kini sudah wujud dalam pangkalan data.

Untuk menyelesaikan masalah ini, Laravel menyediakan parameter tambahan: kecualikan. Contohnya:

'username' => 'required|unique:users,username,' . $userId . ',id|max:255',

Dalam kod di atas, $userId mewakili ID pengguna semasa yang akan dikemas kini Kami memberitahu Laravel untuk mengecualikan pengguna semasa semasa mengesahkan keunikan dengan menggunakan parameter kecualikan dalam peraturan unik.

Selain parameter kecualikan, Laravel juga menyediakan parameter other_columns untuk menentukan syarat bagi lajur lain. Contohnya:

'username' => Rule::unique('users')
    ->where(function ($query) use ($other_column_value) {
        return $query->where('other_column', $other_column_value);
    })
    ->ignore($userId),

Dalam kod di atas, kami menggunakan kelas Peraturan dan kaedah tempat untuk menentukan syarat bagi lajur lain, memastikan pengesahan keunikan hanya akan dihadkan oleh syarat yang ditetapkan. Kaedah abaikan juga digunakan untuk mengecualikan pengguna semasa.

Untuk meringkaskan, anda perlu memberi perhatian kepada isu berikut semasa mengesahkan keunikan dalam Laravel:

  1. Gunakan parameter kecualikan dalam peraturan unik untuk mengecualikan pengaruh data semasa.
  2. Anda boleh menggunakan kelas Peraturan dan kaedah untuk menentukan syarat bagi lajur lain bagi memastikan pengesahan keunikan tidak dipengaruhi oleh lajur lain.

Menggunakan teknik di atas, kami boleh mengesahkan keunikan data dengan lebih fleksibel dan memastikan integriti dan ketepatan data.

Atas ialah kandungan terperinci Bagaimana untuk mengesahkan sama ada laravel unik. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
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