Trang chủTác giảLiên hệ

Eloquent: Getting Started

By Nguyễn Bảo Trung
Published in Laravel
June 09, 2021
2 min read

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.

Giới thiệu

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 đó.

Khởi tạo

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:

Model được đặt trong thư mục app

Quy tắc cho Eloquent Model

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 đó:

Thuộc tính table trong model

Truy vấn 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.


Nguyễn Bảo Trung

Developer

Related Posts

Laravel
Lang thang trong RouteProvider của Laravel 8
July 22, 2021
4 min
© 2021, All Rights Reserved.

Quick Links

Liên hệ quảng cáoThông tinLiên hệ

Social Media