การใช้งาน Collection method sum เพื่อหาผลรวม

การใช้งาน Laravel ORM Method sum เพื่อหาผลรวม

ทำความรู้จักกับ Method sum ใน Laravel

ในกรอบการทำงานของ Laravel เรามีเครื่องมือมากมายที่ช่วยให้การพัฒนาแอปพลิเคชันมีความง่ายและประสิทธิภาพมากยิ่งขึ้น หนึ่งในเครื่องมือเหล่านั้นคือ Eloquent ซึ่งเป็น ORM (Object-Relational Mapping) ใน Laravel ที่ช่วยให้เราสามารถทำงานกับฐานข้อมูลได้อย่างสะดวกสบายมากยิ่งขึ้น และ Method ที่เราจะพูดถึงในบทความนี้คือ method `sum` ซึ่งมีประโยชน์สำหรับการหาผลรวมของข้อมูลในตารางฐานข้อมูล

ทำไมต้องใช้ sum method?

การใช้ Method `sum` สามารถช่วยให้การหาผลรวมคอลัมน์ต่างๆ ในฐานข้อมูลของเราเป็นเรื่องง่ายขึ้น ไม่ต้องเขียน Query แบบดั้งเดิมที่ซับซ้อนมาก และเป็นประโยชน์มากเมื่อเราต้องการหาผลรวมของข้อมูลเช่น ยอดขาย ข้อมูลการสั่งซื้อ และอื่นๆ

ตัวอย่างการใช้งาน sum method

เพื่อแสดงวิธีการทำงานของ method `sum` เราจะใช้ตัวอย่างง่ายๆ โดยสมมติว่ามีตารางฐานข้อมูลชื่อ `orders` ที่เก็บข้อมูลการสั่งซื้อ และเราต้องการหาผลรวมของยอดเงินสั่งซื้อทั้งหมด


// คำสั่งในการหาผลรวมยอดเงินสั่งซื้อทั้งหมด
$totalSales = DB::table('orders')->sum('amount');
echo "ยอดขายรวม: " . $totalSales;

ในตัวอย่างนี้ เราจะใช้ `DB facade` เพื่อทำการ Query ไปที่ตาราง `orders` และเรียกใช้ method `sum` เพื่อหาผลรวมของคอลัมน์ `amount` จากนั้นเราก็นำค่าที่ได้มาแสดงผล

การใช้ sum กับเงื่อนไข

บางครั้งเราอาจต้องการหาผลรวมเฉพาะข้อมูลที่ตรงตามเงื่อนไขบางอย่าง เช่น หาผลรวมของยอดขายที่เกิดในปีปัจจุบัน


// คำสั่งในการหาผลรวมยอดเงินสั่งซื้อในปีปัจจุบัน
$currentYear = date('Y');
$totalSalesThisYear = DB::table('orders')
    ->whereYear('created_at', $currentYear)
    ->sum('amount');
echo "ยอดขายรวมในปีนี้: " . $totalSalesThisYear;

ในที่นี้ เราเพิ่มเงื่อนไข `whereYear` เพื่อกรองเฉพาะรายการที่สร้างขึ้นในปีปัจจุบันก่อนที่จะหาผลรวม

สรุป

Method `sum` ใน Laravel เป็นอีกเครื่องมือที่มีความสำคัญที่ช่วยให้คุณสามารถทำงานกับการคำนวณผลรวมของข้อมูลในฐานข้อมูลได้ง่ายและรวดเร็ว การรู้จักวิธีการใช้งานเครื่องมือนี้จะช่วยให้โค้ดของคุณมีความชัดเจนและสามารถเพิ่มประสิทธิภาพในการพัฒนาบน Laravel ได้

เกี่ยวกับผู้เขียน

ITTHIPAT

สวัสดีครับผม อิทธิพัทธ์ (เป้) ชอบหาเทคนิคต่างๆที่ทำให้ชีวิต Programmer ง่ายขึ้น ทั้ง Automate, Library ชอบทำ Blog และ Video ถ้ามีเวลานะ!

ขอบคุณทุกคนที่ติดตาม และอ่านบทความของผมครับ ผมหวังว่าความรู้ที่เขียนขึ้นในเว็บไซต์นี้จะช่วยทุกท่านได้ไม่มากก็น้อย 

Scroll to Top