在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中文網其他相關文章!