Tôi muốn hiển thị trên bảng xếp hạng số lượng sinh viên mới đã đăng ký và số lượng sinh viên trực tuyến mỗi tháng. Tôi đã nhận được dữ liệu nhưng tôi không biết cách truyền dữ liệu vào tệp JS để vẽ biểu đồ đó. Tệp JS của tôi nằm trong thư mục công khai và tôi đã kết nối với tệp JS nhưng tôi không biết cách truyền dữ liệu cho nó.
Bộ điều khiển của tôi để lấy dữ liệu
class DashboardController extends AdminBaseController
{
public function index []
{
$month = 1;
$totalNewStudent = [];
$totalOnline = [];
$totalActive = [];
for[$i = $month; $i < 13; $i++] {
//count new students
$newStudents = Member::where['member_type_id',1]-
>whereMonth['created_at', $i]->get[];
$totalNewStudent[$i] = $newStudents->count[];
//students online
$onlStudents = Member::where['member_type_id',1]-
>whereMonth['updated_at', $i]->get[];
$totalOnline[$i] = $onlStudents->count[];
// count card active
$act = Order::where['status', "active"]->whereMonth['updated_at', $i]-
>get[];
$totalActive[$i] = $act->count[];
return view['admin.dashboard.index', compact['totalNewStudent','totalOnline','totalActive ']];
}
}
}
Xem admin.dashboard.index
Tệp JS
var months = ["1", "2", "3", "4", "5", "6", "7", "8", "9", "10", "11", "12"];
Morris.Area[{
element: 'products-sales',
data: [{
month: '2017-01',
newstudent: 0,
online: 0,
}, {
month: '2017-02',
newstudent: 240,
online: 0,
}, {
month: '2017-03',
newstudent: 0,
online: 0,
}, {
month: '2017-04',
newstudent: 0,
online: 190,
}, {
month: '2017-05',
newstudent: 0,
online: 25,
}, {
month: '2017-06',
newstudent: 0,
online: 150,
}, {
month: '2017-07',
newstudent: 0,
online: 0,
},{
month: '2017-08',
newstudent: 80,
online: 0,
},{
month: '2017-09',
newstudent: 0,
online: 0,
},{
month: '2017-10',
newstudent: 0,
online: 0,
},{
month: '2017-11',
newstudent: 300,
online: 0,
},{
month: '2017-12',
newstudent: 0,
online: 0,
}],
xkey: 'month',
ykeys: ['newstudent', 'online'],
labels: ['New Student', 'Online'],
xLabelFormat: function[x] { // [
'title' => 'Home',
'price' => 20
]]];
}];
Thêm các js :: từ trong quan điểm chào mừng
6
var page_data = {{ Js::from[$page_data] }};
Mở trình duyệt và kiểm tra trang_data trong bảng điều khiển.
2. Sử dụng biến đổi Php Vars thành Gói JavaScript
1. Không có gói: Sử dụng kết xuất JSON
composer require laracasts/utilities
Trong kết xuất Laravel, JSON sẽ được sử dụng để khởi tạo biến JavaScript.
7'providers' => [
'...',
Laracasts\Utilities\JavaScript\JavaScriptServiceProvider::class,
];
Thí dụ
8Bây giờ thêm dữ liệu mảng trong tuyến ứng dụng. Mảng trang này chúng ta cần sử dụng làm JavaScript.Thêm các js :: từ trong quan điểm chào mừng
1Mở trình duyệt và kiểm tra trang_data trong bảng điều khiển.
9Cài đặt gói thông qua trình soạn thảo
2
6
3Thêm gói vào nhà cung cấp
Nếu bạn biết bất kỳ phương pháp thay thế nào khác, hãy chia sẻ chúng trong bình luận.
Cảm ơn bạn đã đọc.
Chơ để biết thêm!
Theo dõi tôi tại Balajidharma.medium.com.balajidharma.medium.com.