Emad Saif نشر 25 مارس 2022 أرسل تقرير نشر 25 مارس 2022 أحاول أن أحصل على كل المنتجات من قاعدة البيانات والتي تحقق مجموعة من الشروط، يمكنني الحصول على ما أريده تمامًا من خلال إستعلام SQL التالي: SELECT * FROM posts WHERE (col_1 = 123 OR col_2 = 123) AND (col_3 = 456 OR col_4 = 456); كيف يمكنني تحديد مجموعة من الشروط في Eloquent كما في إستعلام SQL السابق؟ 2 اقتباس
1 Bassam Ahmed3 نشر 25 مارس 2022 أرسل تقرير نشر 25 مارس 2022 يمكنك تحديد مجموعة شروط عن طريق السطر التالي $query->where([ ['column_1', '=', 'value_1'], ['column_2', '<>', 'value_2'], [COLUMN, OPERATOR, VALUE], ... ]) أما إذا أردت الدمج ما بين WHERE , AND يمكنك استخدام الأسطر التالية $matchThese = ['field' => 'value', 'another_field' => 'another_value', ...]; // if you need another group of wheres as an alternative: $orThose = ['yet_another_field' => 'yet_another_value', ...]; ثم $results = User::where($matchThese)->get(); // with another group $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 ...) 1 اقتباس
1 Wael Aljamal نشر 25 مارس 2022 أرسل تقرير نشر 25 مارس 2022 يمكننا لكل عبارة شرطية مرتبطة ب And فصلها ضمن عبارة where مستقلة، أما الشروط التي بينها علاقة Or يمكننا كتابتها مباشرة ضمن نفس الاستعلام في نفس عبارة where أي أن الاستعلام السابق يمكننا تعديله ليصبح DB::table("posts") ->where(DB::raw("(col_1 = 123 or col_2 = 123)")) ->where(DB::raw("(col_3 = 456 or col_4 = 456)")) ->get(); يمكنك الإطلاع على laravel #advanced-wheres 1 اقتباس
السؤال
Emad Saif
أحاول أن أحصل على كل المنتجات من قاعدة البيانات والتي تحقق مجموعة من الشروط، يمكنني الحصول على ما أريده تمامًا من خلال إستعلام SQL التالي:
كيف يمكنني تحديد مجموعة من الشروط في Eloquent كما في إستعلام SQL السابق؟
2 أجوبة على هذا السؤال
Recommended Posts
انضم إلى النقاش
يمكنك أن تنشر الآن وتسجل لاحقًا. إذا كان لديك حساب، فسجل الدخول الآن لتنشر باسم حسابك.