Laravel + MongoDB

Sarinthon Mangkorn-ngam
2 min readOct 6, 2020

--

ก่อนอื่นเลยจะ Connect database อะไรก็ต้องมี Driver ของภาษานั้น ๆ ก่อนในที่นี้จะใช้ Laravel เชื่อมต่อกับ Mongo ดังนั้นต้องหา PHP Driver สำหรับ Mongo ก่อน

https://docs.mongodb.com/drivers/php#installation

ด้วย Laravel นั้นใช้คำสั่งด้านล่างในการ run server ขึ้นมา

$ php artisan run serve

ตัว PHP Compile จะอยู่ที่เครื่อง macOS ของเราดังนั้นเราสามารถตรวจสอบได้โดยใช้คำสั่ง

ดังนั้นหมายความว่าเราต้องลง PHP Driver ที่ macOS ของเราเลย เริ่มลง Driver ด้วยคำสั่ง

$ sudo pecl install mongodb

ถ้าไม่เจอคำสั่ง “pecl” ให้ Reinstall ผ่าน brew อีกครั้ง

$ brew install php

จากนั้นลองลง PHP Driver อีกครั้ง

เมื่อเสร็จแล้วมันจะลง mongodb.so และ enable php extension สำหรับ mongodb ให้ไว้เราใช้งานเลย

พอลง Driver เสร็จแล้ว ก็มาหา Library เพื่อใช้ร่วมกับ Driver และเชื่อมต่อกับ MongoDB ซึ่งทาง MongoDB เตรียม Library แล้วเต็มไปหมด

https://docs.mongodb.com/drivers/php-libraries

ซึ่งเราจะเลือกใช้ในส่วน Laravel MongoDB

เนื่องจากเป็น Eloquent model และใช้ Query builder แบบที่เราเชื่อมต่อกับ RDBMS แบบปกติได้เลย อีกทั้ง Jenssegers/laravel-mongodb รองรับ Laravel หลากหลายเวอร์ชัน ล่าสุดที่ Blog นี้รองรับ 7.x แล้ว

จาก Lib v3.7.x ที่จะ supports Laravel 7.x ปัจจุบันทาง Library ยังไม่ได้ Release stable version ออกมา จึงมาใช้ 4.0.0-alpha.1 ก่อน หลังจาก support Laravel 7.x

กรณีที่ Library 3.6.x ไม่ Support Laravel 7.x จะเกิด Error ขึ้นดังนี้

$ composer require jenssegers/mongodb

เราจึงต้องระบุเวอร์ชัน 4.0.0-alpha.1

$ composer require jenssegers/mongodb:4.0.0-alpha.1Or$ composer require jenssegers/mongodb:^3.6

เท่านี้ก็สามารถใช้งานได้แล้ว

**เดียว Blog หน้าจะมาเขียนการเชื่อมต่อระหว่าง Laravel กับ MongoDB ครับ

--

--

No responses yet