在 Laravel 中利用 Rule::unique 进行多列唯一验证
在你的 Laravel 应用程序中,你有一个名为“servers”的表有两列:“ip”和“主机名”。您希望确保这两列的组合是唯一的,以防止重复条目。虽然您已经为“ip”列实现了验证规则,但您的目标是扩展此逻辑以也包括“主机名”列。
要实现这种多列唯一验证,您可以利用 Laravel 的规则::独特的方法。以下是验证规则的修改版本:
<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>
说明:
此更新的验证规则将确保“ip”和“主机名”值的组合在“服务器”表中是唯一的,有效防止具有相同 IP 和主机名的重复条目。
以上是如何在 Laravel 中使用 Rule::unique 实现多列唯一验证?的详细内容。更多信息请关注PHP中文网其他相关文章!