[Laravel] - วิธีดู SQL ที่ได้จากการใช้ Eloquent หรือ Query Builder

Standard


สำหรับคนที่ใช้ Eloquent หรือ Query Builder ของ Laravel มาสักระยะหนึ่ง  จะพบว่าเวลาเขียนคำสั่งที่เริ่มซับซ้อน  เราอาจจะไม่ค่อยแน่ใจว่าเราดึงข้อมูลถูกต้องตามที่ต้องการหรือเปล่า   เพราะส่วนมากจะคุ้นชินกับการเขียน SQL Statement ตรงๆ  มากกว่า    ถ้าเรารู้ว่า Query ที่เราเขียนขึ้นมามีหน้าตา SQL แบบไหน  ก็พอจะทำให้เราตรวจสอบความถูกต้องได้ระดับหนึ่ง

ว่าแล้วเราก็มาดูวิธีการดึง SQL Query Log ออกมาดูกันดีกว่า

$queries = DB::getQueryLog();
หะะะ  อะไรนะ  บรรทัดเดียว!   อืมบรรทัดเดียวจริง ๆ ครับ ได้ Query Log ออกมาแล้ว  แต่ถ้าจะเอา Statement สุดท้ายก็สามารถดูได้โดยใช้ function  end()
$last_query = end($queries);
แค่นี้เราก็จะได้ SQL Statement ออกมาดูเบื้องต้นแล้วครับ  ส่วนการแสดงก็ var_dump ออกมาดูได้เลย  เช่น var_dump($last_query);  เป็นต้น