Skip to main content

Setup ReportFrame trong code

Không chỉ setup ở csdl không, ta cũng cần setup trước một bảng đã lọc dữ liệu ở code để truyền vào khung báo cáo

QuickStart

Setup ngắn nhất ta có thể viết mà không phải lo nghĩ nhiều (Note: $year trong đây lấy từ năm của bộ lọc)

$filterTableSql = "CREATE TEMPORARY TABLE filtered_data 
            /* Code tạo bảng ... */";

DB::statement($filterTableSql);

$frame = new ReportFrame("report_glm_24_s90h", null, ["yyyy" => $year]);
$frame->execute("filtered_data");
$data = $frame->returnData();

//...Xử lý nốt $data trả về và trả báo cáo

Nhìn tổng thể, khi tạo ReportFrame, hàm constructor của nó chỉ lấy 4 tham số sau (các dấu ? đứng trước nghĩa là nó null/không cần truyền vào cũng đc)

<?php
$frame = ReportFrame($tableName = <tên-bảng-lấy-khung-trong-csdl>,
    ?array $options = [<mảng-các-option-có-thể-dùng-để-tinh-chỉnh-ReportFrame>],
    ?array $parameters = [<các-tham-số-truyền-vào-cho-ReportFrame>],
    ?array $middlewares = [<các-middleware(các-func-custom)-giữa-các-quá-trình-chạy-trong-ReportFrame>]
)

Nội dung của page này sẽ đi vào một số option và middleware hay dùng. Đối với api đầy đủ xem mục API ở đây