Laravel 验证多列的唯一规则

Laravel Validation Unique Rule On Multiple Columns

我有一个用户 table 和两列:emailphone。 在我的注册和登录控制器中,我想在电子邮件和 phone 列中创建一个唯一的字段。

$data = request()->validate([
   'login' => ['required', 'string', 'email', 'max:255', 'unique:users,email'],
   'password' => ['required', 'string', 'min:8', 'confirmed'],
]);

这是我的代码,它只检查电子邮件列以确保登录字段的值不存在。 如何更改此规则以同时检查电子邮件和 phone 列?

只需制定另一个 ‌‌‌‌规则‌‌‌‌‌‌‌:‌‌‌‌‌‌‌‌‌

$data = request()->validate([
   'login' => ['required', 'string', 'email', 'max:255', 'unique:users,email','unique:users,phone'],
   'password' => ['required', 'string', 'min:8', 'confirmed'],
]);