Laravel tip (phần 1)

Tram Ho

Nguồn laraveldaily.com

Tip 1 Single Action Controller

Nếu bạn muốn tạo một controller với chỉ một action, bạn có thể sử dụng phương thức __invoke() để tạo một controller “invokable”.

Routes

Câu lệnh để generate controller này là

Tip 2 Unsigned Integer

Để đặt foreign key trong migrations, thay vì sử dụng integer(), hãy sử dụng unsignedInteger() hoặc integer()->unsigned(), nếu không, bạn có thể nhận một số lỗi SQL.

Bạn có thể sử dụng unsignedBigInteger() trong trường hợp cột có kiểu bigInteger()

Tip 3 Sử dụng OrderBy ngay trong Eloquent relationship

Bạn có thể sử dụng orderBy ngay trong Eloquent relationship của model

Tip 4 Sắp xếp các migrations

Nếu muốn sắp xếp các DB migrations, bạn chỉ cần thay đổi tên file và timestamp
Ví dụ, đổi từ 2018_08_04_070443_create_posts_table.php thành 2018_07_04_070443_create_posts_table.php, thì file migrations này sẽ thay đổi vị trí sắp xếp theo alphabetical

Tip 5 Raw DB Queries: havingRaw()

Bạn có thể sử dụng một số truy vấn RAW DB QUERIES ở một vài nơi, bao gồm cả havingRaw() sau khi thực hiện groupBy()

Tip 6 Biến $loop trong vòng lặp foreach

Trong vòng lặp foreach, bạn có thể sử dụng biến $loop để thực hiện rất nhiều việc

Cụ thể các tác vụ có thể thực hiện với biến $loop có thể như sau

Thuộc tínhMô tả
$loop->indexLấy chỉ số index của vòng lặp hiện tại được tính bắt đầu từ 0
$loop->iterationLấy số lần lặp (bắt đầu từ 0)
$loop->remainingSố vòng lặp còn lại của vòng lặp
$loop->countTổng số phần tử sẽ được duyệt trong vòng lặp
$loop->firstPhần tử đầu tiên trong vòng lặp
$loop->lastPhần tử cuối cùng trong vòng lặp
$loop->evenCác phần tử đứng vị trí chẵn trong vòng lặp
$loop->oddCác phần tử đứng vị trí lẻ trong vòng lặp
$loop->depthNesting level của các vòng lặp hiện tại
$loop->parentKhi vòng lặp được nested, biến này nó sẽ trả về vòng lặp cha

Tip 7 Eloquent where date methods

Trong Eloquent, chúng ta có thể sử dụng các function whereDay(), whereMonth(), whereYear(), whereDate(), whereTime() để query thời gian một cách chính xác.

Tip 8 Route group bên trong một group

Trong Route, chúng ta có thể tạo thêm một group bên trong chính group đó.

Tip 9 Increments and decrements

Nếu bạn muốn một cột trong DB tăng, chỉ cần sử dụng increment(). Cũng không nhất thiết là mỗi lần tăng lên 1, có thể tăng mỗi lần lên 50.

Tip 10 Kiểm tra file view có tồn tại hay không ?

Bạn có thể kiểm tra xem file View có tồn tại hay khong trước khi load ra chúng

Bạn cũng có thể load ra file View đầu tiên nếu nó tồn tại trong mảng các file view được liệt kê

Chia sẻ bài viết ngay

Nguồn bài viết : Viblo