"إذا أراد العامل أن يؤدي عمله بشكل جيد، فعليه أولاً أن يشحذ أدواته." - كونفوشيوس، "مختارات كونفوشيوس. لو لينجونج"
الصفحة الأمامية > برمجة > كيفية التحقق من التفرد عبر أعمدة متعددة في Laravel؟

كيفية التحقق من التفرد عبر أعمدة متعددة في Laravel؟

تم النشر بتاريخ 2024-11-07
تصفح:667

How to Validate Uniqueness Across Multiple Columns in Laravel?

التحقق من التفرد على أعمدة متعددة في 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...
}

شرح

    القاعدة::تحدد القاعدة الفريدة جدول الخوادم، الذي يحتوي على أعمدة IP واسم المضيف.
  • حيث يحدد الإغلاق ضمن القاعدة الشروط التي يجب استيفاؤها للتفرد. في هذه الحالة، يتحقق مما إذا كان كل من عنوان IP واسم المضيف يتطابقان مع أي سجلات موجودة في قاعدة البيانات.
  • رسالة الخطأ المخصصة نظرًا لأن عنوان IP واسم المضيف ليسا فريدين ترتبط بقاعدة التحقق من صحة data.ip.unique.

الاستنتاج

من خلال استخدام القاعدة::قاعدة فريدة من نوعها مع شروط مخصصة، يمكنك ضمان التفرد بشكل فعال عبر أعمدة متعددة في لارافيل. يسمح هذا الأسلوب بالتحقق من صحة البيانات بشكل أكثر تحديدًا ومرونة، خاصة عند النظر في سيناريوهات مثل تلك المذكورة في الاستعلام الأولي.

أحدث البرنامج التعليمي أكثر>

تنصل: جميع الموارد المقدمة هي جزئيًا من الإنترنت. إذا كان هناك أي انتهاك لحقوق الطبع والنشر الخاصة بك أو الحقوق والمصالح الأخرى، فيرجى توضيح الأسباب التفصيلية وتقديم دليل على حقوق الطبع والنشر أو الحقوق والمصالح ثم إرسالها إلى البريد الإلكتروني: [email protected]. سوف نتعامل مع الأمر لك في أقرب وقت ممكن.

Copyright© 2022 湘ICP备2022001581号-3