Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

Laravel एक शर्त के साथ दो स्तंभों के योग की गणना करता है

आप संग्रह के sum() . में बस कुछ कॉलबैक पास कर सकते हैं विधि:

$warehouses_collection->map(function ($warehouse) {
    return (object) [
        'id' => $warehouse->id,
        'warehouse' => $warehouse->warehouse,
        'total_income' => collect($warehouse->sales)->sum(function ($sale) {
            ((int) $sale->price) * $sale->quantity * ($sale->status == 1 ? 1 : -1)
        })
    ];
});

WithSum यहां उपयोग करना थोड़ा मुश्किल है लेकिन withAggregate calling पर कॉल करना काम करता है।

Warehouse::withAggregate(
    'sales as total_income',
    'sum(case when status = 1 then price * quantity when status = 2 then price * quantity * -1 else 0 end)'
)->get() 


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. क्या डीबी में पंक्तियों को अद्यतन करने के लिए LOAD DATA INFILE प्रकार कमांड का उपयोग करना संभव है?

  2. Yii2 प्रत्येक लूप के लिए डेटा प्रदर्शित करता है

  3. अद्यतन करते समय yii2 में सरणी वस्तु से बहु चयन मूल्य कैसे सेट करें

  4. फ़ाइल को MySQL ब्लॉब में लोड करने के लिए LOAD_FILE का उपयोग कैसे करें?

  5. क्या MySQL में MEDIUMINT से बचना चाहिए?