วิธีบวกจำนวนเพิ่มเพื่อเก็บใน MySQL ด้วย Eloquent Laravel 5.x

เว็บส่วนใหญ่มักจะมีการนับจำนวนผู้เข้าชม อาจจะใช้วิธีทำเป็นสถิติเลยว่าแต่วันมีผู้เข้าชมหน้านั้นเท่าไร เมื่อผู้ใช้กดเค้ามาหน้านั้นก็จะทำการบวกหนึ่งเพิ่มไปเรื่อยๆ

ส่วนอื่นๆเงื่อนไขการตรวจสอบว่า IP นี้นับแค่ครั้งเดียว หรือเปิด Browser มาให้นับครั้งเดียวถ้ากด Refresh ก็จะไม่นับตรงนี้ไม่ขออธิบาย ขอเน้นส่วนคำสั่ง SQL เท่านั้นนะครับ ขอยกตัวอย่างดังนี้

UPDATE news SET views+1 WHERE id=123

จากด้านบนจะเป็นการอัพเดทตาราง news  โดยให้บวกคอลัมม์ views เพิ่มอีก 1 ทีนี้ถ้าเป็น Laravel จะใช้ Eloquent โดยใช้ method ที่ชื่อว่า “increment” เข้ามาช่วย ซึ่งมันจะทำการเพิ่มค่าของฟิลด์นั้น +1 และอัพเดทลง MySQL ตัวอย่าง

News::where('id','=','123')->increment('views');

และในทางตรงกันข้ามก็สามารถ -1 ได้เช่นกัน โดยใช้ “decrement” อาจจะเอาไว้ใช้กับพวกระบบ Rating หรือ Vote ต่างๆครับ

News::where('id','=','123')->decrement('views');

ก็หวังว่าบทความนี้จะมีประโยชน์กับผู้เริ่มต้นใช้ Laravel ครับ