10 tính năng hiệu quả có thể bạn không biết về Laravel Eloquent

774
tính năng của Laravel Eloquent

Giới thiệu

Với tất cả các tính năng có sẵn trong Laravel, thật khó để biết tất cả. Một số tính năng thậm chí không được ghi lại đúng cách. Trong bài viết này mình sẽ cung cấp cho bạn 10 tính năng của Laravel Eloquent mà bạn có thể không biết.

  10 tính năng hiệu quả có thể bạn không biết về Laravel Eloquent
”]

  Giới thiệu hai package để quản lý Roles/Permissions trong laravel (Phần 1)

Tính năng của Laravel Eloquent có thể bạn chưa biết

Custom timestamp column names

Mặc định, khi tạo migration cho các Model thì có các dấu thời gian là created_at vàupdated_at.

Bạn có thể ghi đè tên các cột này bằng cách xác định 1 biến không đổi trong Model mà bạn muốn ghi đè. Nếu Model sử dụng soft deletes bạn cũng có thể ghi đè cột deleted_at.

The exists property

Nó cho biết đối tượng có tồn tại trong database hay không.Khi bạn tạo mới một model instance thì thuộc tính exists sẽ set là false , khi model của bạn được lưu hoặc truy xuất từ database thì thuộc tính exists được set thành true

Dirty

Đôi khi bạn muốn kiểm tra sự thay đổi giá trị của các attributes của một object model, hoặc kiểm tra giá trị của chúng trước khi thay đổi,bạn có thể sử dụng phương thứcisDirty()

  • Ví dụ, bạn có 1 user như sau:

  • Kiểm tra xem có giá trị có bị thay đổi so với database không?

Original

Sau khi thay đổi bản ghi Eloquent, bạn có thể lấy được các attribute gốc ban đầu bằng cách gọi getOriginal()

Cloning a model

Bạn có thể clone một model bằng cách sử dụng replicate(). Nó sẽ tạo một bản sao của model thành một instance mới và chưa tồn tại.

Convert a model or collection to array

Phương thức toArray() có thể chuyển đổi 1 model hoặc collection thành mảng

Refresh

Phương thức refresh() sẽ làm mới model bằng cách lấy dữ liệu từ database, tất cả các relationships của nó cũng được làm mới.

Without events

Đôi khi bạn muốn tạo hoặc cập nhật 1 model mà không dùng bất kỳ event nào. Trong Laravel có thể thực hiện bằng cách sau:

Push

Đôi khi bạn muốn lưu không chỉ nó, mà toàn bọ những gì liên quan tới nó thì bạn sử dụng phương thức push()

Nếu bạn gọi phương thức save() trên user thì address sẽ không được lưu.

Bằng cách sử dụng push() thì cả user và address sẽ được lưu.

Force a delete on a soft delete model

Bạn có thể cần thực xoá một model khỏi database. Để xoá vĩnh viễn một soft delete model, hãy sử dụng hàm forceDelete()

Kết luận

Hy vọng qua bài viết này các bạn có thể biết thêm một số tính năng của Laravel Eloquent. Cảm ơn các bạn đã theo dõi bài viết!

Tham khảo: https://medium.com/swlh/10-eloquent-features-that-you-might-not-know-about-75d8221d4adc

Có thể bạn quan tâm:

Xem thêm việc làm Software Developers hấp dẫn nhất tại TopDev

TopDev via viblo

  Tại sao Laravel là framework tốt nhất 2019?
  Cơ cấu xử lý request trong Laravel như thế nào?