Trong bài viết này, mình và các bạn sẽ cùng đi tìm hiểu những thứ cơ bản và hay dùng nhất trong phần Eloquent ORM này.
Eloquent ORM cung cấp cho bạn khả năng làm việc với database một cách đơn giản và hiệu quả. Mỗi table sẽ có một Model tương ứng, cho phép bạn thực hiện các query với table đó.
Chúng ta có thể sử dụng artisan command để tạo Model một cách rất đơn giản, bây giờ chúng ta sẽ tạo model Post cho table posts như sau:
hoặc
Mặc định thì các Model sẽ được đặt trong thư mục app:
Như ở trên thì chúng ta đã tạo model Post cho table trong database là posts. Chắc chắn bạn sẽ thắc mắc là tại sao model Post ở đây lại tương ứng với table posts trong database?
Theo defaul của Laravel, thì đã tự định nghĩa là: kiểu “snake case”, tên class
ở số nhiều sẽ được sử dụng như tên table
. Vì vậy mà model Post
sẽ tương ứng với tên table là posts
.
Vậy giờ ta lại muốn là model Post
là đại diện cho bảng post_by_users
thì Laravel có đáp ứng được ko? Câu trả lời ở đây là có. Trong Eloquent Model có cung cấp thuộc tính table
để xác định tên table
tương ứng với model
đó:
Mỗi Eloquent Model cũng giống như 1 query builder, vì thế bạn có thể thực hiện query tới database 1 cách tương tự.
VD:
Lấy toàn bộ bản ghi trong table posts
:
Thêm một vài ràng buộc:
Sử dụng find hoặc first để lấy kết quả là một model instance
Các bạn có thể xem lại phần query builder để biết thêm những hàm có thể sử dụng.
#Thêm và cập nhập model
Để thêm 1 record vào trong database, cần tạo mới 1 model instance và set giá trị cho các attributes, sau đó gọi hàm save
:
kiểm tra database table posts, sẽ thấy có 1 record mới được thêm vào.
Hàm save cũng được sử dụng để update 1 record sẵn có trong database. Chỉ cần lấy model instance ra trước, rồi thay đổi các attribute mong muốn rồi cuối cùng là gọi hàm save
.
Để xóa record trong table, còn đơn giản hơn nữa:
or
Trên đây mình đã giới thiệu những khái niệm cơ bản trong Laravel Eloquen ORM, rất mong nhận được sự đóng góp của các bạn. Các bạn có thể tham khảo chi tiết tại laravel document.
Quick Links
Social Media