Mở đầu
Hello anh em, đến hẹn lại lên hôm nay mình xin chia sẻ với mọi người về chủ đề Laravel kết hợp với MongoDB mà thông thường ta hay kết hợp Laravel với MySQL. Và mặc định thì Laravel chỉ hỗ trợ các cơ sở dữ liệu có cấu trúc như: MySQL, PostgreSQL, SQLite, SQL Server. Tuy nhiên theo thời thế thì NoSQL ngày càng phát triển mạnh mẽ và được tin dùng bởi nó linh động và có tốc độ cao mà điển hình là MongoDB. Trong phạm vi bài viết này mình chỉ xin đề cập đến MongoDB thay cho cơ sở dữ liệu không có cấu trúc NoSQL. Để tận dụng được những điểm tốt của NoSQL bây giờ ta sẽ tìm cách để có thể sử dụng MongoDB trong Laravel để mang lại hiệu quả tốt nhất. Bắt đầu thôi...


Accessors và Mutators là gì? Nó có nhiệm vụ là cho phép bạn format các attributes của Eloquent khi lấy ra từ một model hoặc là bạn cũng có thể set giá trị cho chúng. Tại sao phải làm vậy? Vì trong project của bạn, 1 thuộc tính có thể sẽ được sử dụng ở rất nhiều nơi, chẳng lẽ mỗi lần sử dụng bạn lại phải format nó. Giờ đây, việc cần làm là truy cập vào Model rồi viết 1 hàm set giá trị cho chúng, sau đó bạn chỉ cần gọi đến tên thuộc tính đó ở mọi nơi. Ví dụ thế này, bạn cần mã hóa mật khẩu cho người dùng khi truy cập vào trang web, thì việc bạn làm đơn giản là băm thuộc tính