Laravel Eloquent: كيفية بناء WHERE معقد بمزيج من OR و AND؟
مرحبًا بالجميع! أنا مبتدئ في Laravel و Eloquent، وواجهت مشكلة في بناء استعلام SQL معقد مع شروط WHERE تستخدم OR و AND معًا.
لدي جدول `products` بحقول: `status`، `category_id`، `price`، `is_featured`. أحتاج إلى تحديد المنتجات التي تستوفي أحد الشرطين:
1. المنتج نشط (status = 'active') وسعره أقل من 1000 (price < 1000)؛
2. أو المنتج مميز (is_featured = 1) وينتمي إلى فئة برقم id = 5 (category_id = 5).
أي في SQL سيبدو كالتالي:
```sql
SELECT * FROM products
WHERE (status = 'active' AND price < 1000)
OR (is_featured = 1 AND category_id = 5);
```
حاولت استخدام `where()` و `orWhere()` في Eloquent، لكن النتيجة كانت فوضوية. على سبيل المثال:
```php
$products = Product::where('status', 'active')
->where('price', '<', 1000)
->orWhere('is_featured', 1)
->where('category_id', 5)
->get();
```
هذا