In the Laravel framework, verifying the uniqueness of input data is a common requirement. For example, verify the user's email or mobile phone number to ensure that they will not be registered repeatedly.
Laravel provides a very convenient verification rule - unique. When submitting the form, you only need to add unique:table,column to the rules, for example:
'username' => 'required|unique:users,username|max:255', 'email' => 'required|unique:users,email|max:255|email',
In the above code, the unique rule specifies the uniqueness verification table users and the field username or email, which will ensure No other user has the same username or email.
However, in practical applications, unique rules cannot fully meet our needs. For example, when we update a piece of data, the original uniqueness verification rule may report an error because the value we are updating already exists in the database.
To solve this problem, Laravel provides an additional parameter: exclude. For example:
'username' => 'required|unique:users,username,' . $userId . ',id|max:255',
In the above code, $userId represents the current user ID to be updated. By using the exclude parameter in the unique rule, we tell Laravel to exclude the current user when verifying uniqueness.
In addition to the exclude parameter, Laravel also provides the other_columns parameter to specify the conditions for other columns. For example:
'username' => Rule::unique('users') ->where(function ($query) use ($other_column_value) { return $query->where('other_column', $other_column_value); }) ->ignore($userId),
In the above code, we use the Rule class and where method to define conditions for other columns to ensure that uniqueness verification will only be restricted by the specified conditions. The ignore method is also used to exclude the current user.
To summarize, you need to pay attention to the following issues when verifying uniqueness in Laravel:
Using the above techniques, we can more flexibly verify the uniqueness of data and ensure the integrity and correctness of the data.
The above is the detailed content of How to verify if laravel is unique. For more information, please follow other related articles on the PHP Chinese website!