Sử dụng hàm trong template

I. Danh sách biến model
II. Cú pháp sử dụng
III. Danh sách hàm dùng chung
IV. Các hàm đặc biệt

Ngoài sử dụng các hàm, biến đúng chuẩn của Laravel,
SCart cung cấp thêm những biến, hàm mới để hỗ trợ những lập trình viên giao diện.
Mục đích:

- Tách biệt người làm giao diện với developer: Không cần có nhiều kiến thức về code trong các model, controller.
- Biến model và các hàm của nó được gọi ở bất kỳ view nào: Không phải khai báo ở từng controller cho từng view
- Cú pháp đồng nhất

Lưu ý:
Tất nhiên, các hàm này bạn bạn hoàn toàn có thể sử dụng ở những nơi khác ngoài view (giao diện)

I. Các biến model được khởi tạo sẵn:
1. $modelProduct -> model Product
2. $modelCategory -> model Category
3. $modelBanner -> model Banner
4. $modelBrand -> model Brand
5. $modelSupplier -> model Supplier
6. $modelNews -> model News
7. $modelPage -> model Page
8. $modelCmsCategory -> model CMS Category
9. $modelCmsContent -> model CMS Content
10. $modelUserProfile -> model profile user login
11. $modelUserOrder -> model order user login

II. Cú pháp sử dụng:

$biến_model->start()->(get)group-query->(set)query->getData()|getSql();

Ví dụ:
$modelProduct->start()->getProductHot()->setLimit(20)->setPaginate()->setRandom()->getData();

Trong đó:
- Group-query:
Bản chất là nhiều query đã định nghĩ sẵn
- Query:
Các điều kiện bổ sung. Nếu trùng với query group-query, thì query sau sẽ ghi đè query trước đó.
- getData | getQuery
Tương đương với hàm get() và toSql() trong Laravel
- start()
Để tránh trả về kết quả không như ý muốn, nên sử dụng hàm start() trước khi bắt đầu xử lý dữ liệu.

III. Các hàm hỗ trợ chung cho tất cả các biến model:
  • start(): bắt đầu khi sử dụng các hàm model
  • setLimit(int) // Giới hạn kết quả trả về -> Hàm sau thay thế hàm trước
  • setSort([$key, ‘asc|desc’]) //Sắp xếp kết quả trả về ->  Được sử dụng nhiều lần
  • setRandom(0|1) // Kích hoạt lấy ngẫu nhiên kết quả trả về ->  Hàm sau thay thế hàm trước
  • setPaginate() // Kích hoạt phân trang
  • setMoreWhere([$v1, ‘<|>|=|like|<=|>=|<>’, $v2]) // Bổ sung mệnh đề where ->  Được sử dụng nhiều lần
  • getQuery() // Trả về câu truy vấn -> Sử dụng cuối cùng
  • getData() // Trả về kết quả dữ liệu -> Sử dụng cuối dùng
  • getDetail($id) // Trả về kết quả chi tiết 1 model thông qua $id -> Sử dụng cuối cùng.

IV. Các hàm đặc biệt cho 1 số model:
1. $modelProduct
  • setKeyword($string) // serach product with key word : sku, name, description, keyword
  • getProductNew() // get product type is new
  • getProductHot() // get product type is hot
  • getProductBuild() // get product is bundle
  • getProductGroup() // get product is group
  • getProductSingle() // get product is single
  • getProductToCategory($arrCategory | int) // get products in array category
  • getProductToBrand($arrBrand | int) // get products in array brand
  • getProductToSupplier($arrSupplier | int) // get products in array supplier
  • getProductLatest() // get products latest
  • getProductLastView() // get top products last view
  • getProductBestSell() // get top products best sell
  • getProductPromotion() // get top products promotion
2. $modelCategory
  • setParent(int) // replace before 
  • getCategoryRoot() // get category parent = 0
  • getCategoryTop() // get category have top = 1
3. $modelBanner
  • getBanner() // get Banner
  • getBackground() // get Background
4. $modelBrand
//
5. $modelSupplier
//
6. $modelNews 
//
7. $modelPage
//
8. $modelCmsCategory
  • setParent(int) // replace before 
  • getCategoryRoot() // get category parent = 0
  • getCategoryTop() // get category have top = 1
9. $modelCmsContent
  • getContentToCategory($arrCategory | int) // get contentin array category
10. $modelUserProfile
//
11. $modelUserOrder
  • getOrderNew() // status 1
  • getOrderProcessing() // status 2
  • getOrderHold() // status 3
  • getOrderCanceled() // status 4
  • getOrderDone() // status 5
  • getOrderFailed() // status 6

Bài viết liên quan