วิธีบวกจำนวนเพิ่มเพื่อเก็บใน 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 ครับ