اذهب إلى المحتوى
  • 0

كيفية إنشاء جمل شرطية متعددة في لارافيل

Amir Alsaeed

السؤال

كيف يمكنني وضع أكثر من جملة شرطية where ضمن الاستعلام في Eloquent. فبفرض لدي المودل User وعند استعادة بعض السجلات أرغب بإضافة أكثر من جملة شرطية واحدة على الاستعلام:

$results = User::where('this', '=', 1)-get();

أين يجب أن أقوم بإضافة الجمل الشرطية الأخرى في هذا الاستعلام؟

رابط هذا التعليق
شارك على الشبكات الإجتماعية

Recommended Posts

  • 0

يوجد عدة طرق لتنفيذ ذلك، فيمكنك على سبيل المثال استخدام المصفوفات كالتالي:

$query->where([
    ['column_1', '=', 'value_1'],
    ['column_2', '<>', 'value_2'],
    [COLUMN, OPERATOR, VALUE],
    ...
])

بحيث يكون الترتيب بدءً من اليسار: اسم العمود، عملية المقارنة، القيمة.

وكذلك يمكنك وضع الجمل الشرطية ضمن متحولات وإعادة استخدامها في الاستعلام بالشكل التالي:

$matchThese = ['field' => 'value', 'another_field' => 'another_value', ...];


$orThose = ['yet_another_field' => 'yet_another_value', ...];

ثم:

$results = User::where($matchThese)->get();

// مع مجموعة أخرى من الاستعلامات
$results = User::where($matchThese)
    ->orWhere($orThose)
    ->get();

وبالتالي سيكون مماثل للاستعلام الأساسي بالشكل المكافئ للتالي:

SELECT * FROM users
  WHERE (field = value AND another_field = another_value AND ...)
  OR (yet_another_field = yet_another_value AND ...)

وأخيراً: يمكن ببساطة وضع سلسلة الشروط بشكل متتالي:

User::where('this', '=', 1)
            ->where('that', '=', 1)
			->get();

 

رابط هذا التعليق
شارك على الشبكات الإجتماعية

انضم إلى النقاش

يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.

زائر
أجب على هذا السؤال...

×   لقد أضفت محتوى بخط أو تنسيق مختلف.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   جرى استعادة المحتوى السابق..   امسح المحرر

×   You cannot paste images directly. Upload or insert images from URL.

  • إعلانات

  • تابعنا على



×
×
  • أضف...