التحقق من التفرد على أعمدة متعددة في Laravel
عند التحقق من صحة البيانات في Laravel، من الضروري ضمان التفرد عبر أعمدة متعددة لمنع الإدخالات المكررة. يعد هذا مناسبًا بشكل خاص في السيناريوهات التي يجب أن تكون فيها مجموعات متعددة من القيم فريدة، كما هو الحال في الحالة المذكورة حيث يجب مراعاة أعمدة IP واسم المضيف للتفرد.
التحقق الفريد من الصحة على أعمدة متعددة
للتحقق من صحة التفرد في أعمدة متعددة، يوفر Laravel القاعدة Rule::unique. تتيح لك هذه القاعدة تحديد الجدول والأعمدة التي يجب أخذها في الاعتبار أثناء التحقق من الصحة.
قاعدة التحقق المخصصة
في السيناريو المحدد، الهدف هو التحقق من صحة حقل IP مع الأخذ في الاعتبار كل من أعمدة IP واسم المضيف. ولتحقيق ذلك، يمكنك استخدام قاعدة مخصصة مثل ما يلي:
use Illuminate\Validation\Rule;
$data = [
'ip' => '192.168.0.1',
'hostname' => 'server-1',
];
$messages = [
'data.ip.unique' => 'Given ip and hostname are not unique',
];
Validator::make($data, [
'ip' => [
'required',
Rule::unique('servers')
->where(function ($query) use ($ip, $hostname) {
return $query->where('ip', $ip)->where('hostname', $hostname);
}),
],
], $messages);
if ($validator->fails()) {
// Handle validation errors...
}
شرح
الاستنتاج
من خلال استخدام القاعدة::قاعدة فريدة من نوعها مع شروط مخصصة، يمكنك ضمان التفرد بشكل فعال عبر أعمدة متعددة في لارافيل. يسمح هذا الأسلوب بالتحقق من صحة البيانات بشكل أكثر تحديدًا ومرونة، خاصة عند النظر في سيناريوهات مثل تلك المذكورة في الاستعلام الأولي.تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.
Copyright© 2022 湘ICP备2022001581号-3