آفلاین
user-avatar

نمودار به صورت دینامیک در لاراول

2 سال پیش
توسط bardia آپدیت شد
آفلاین
user-avatar
bardia ( 22836 تجربه )
2 سال پیش
تخصص : Golang/Laravel

سلام دوستان
من میخوام یه نمودار به صورت دینامیکی داشته باشم از آیتم های که وارد دیتابیس میشه
مثلن هر دسته شامل n تا پست میشه
میخوام این دسته هارو روی نمودار اضافه کنه بگه مثلن فلان دسته 18 تا پست داره و اگر دسته ای اضافه شد توی نمودار نشون بده
این کار رو چطور انجام بدم

آفلاین
user-avatar
علی بیات ( 407969 تجربه )
2 سال پیش
تخصص : توسعه دهنده ارشد وب

ابتدا محاسباتش رو انجام بده.
پست‌ها رو بر اساس دسته بندی‌ها جدا کن و تعداد پست‌های هر دسته رو حساب کن.
در نهایت هم از Chart.js یا ابزار مشابهی استفاده کن و نمودارهارو نمایش بده. براحتی میتونی با VueJs یه کامپوننت <chart> هم درست کنی.

آفلاین
user-avatar
bardia ( 22836 تجربه )
2 سال پیش
تخصص : Golang/Laravel

@ali.bayat
این را کاری که گفتید رو میدونم بنده
ازتون ممنون بابت پاسخ گویی
ولی نمونه کدی هست ؟آیا

آفلاین
user-avatar
علی بیات ( 407969 تجربه )
2 سال پیش
تخصص : توسعه دهنده ارشد وب

یه مقاله داخل راکت هست
https://roocket.ir/articles/making-charts-and-charts-in-laravel

آفلاین
user-avatar
bardia ( 22836 تجربه )
2 سال پیش
تخصص : Golang/Laravel
آفلاین
user-avatar
علی بیات ( 407969 تجربه )
2 سال پیش
تخصص : توسعه دهنده ارشد وب

موفق باشید

آفلاین
user-avatar
علی رضا رحیمی ( 5830 تجربه )
2 سال پیش

از vue.js در کنار لاراول استفاده کنید

آفلاین
user-avatar
bardia ( 22836 تجربه )
2 سال پیش
تخصص : Golang/Laravel

@ali.bayat

https://github.com/ConsoleTVs/Charts/tree/5.4.0/docs/5#database-charts-database-charts
من میخوام از رلیشن استفاده کنم
توی مستندات اینجوری گفته ولی باید چطور استفاده کنم

groupBy(required string $column, optional string $relationColumn, optional array $labelsMapping)

Groups the data based on a column.

Note: Relationship column follows this standard:

->groupBy('product_id', 'product.model');
آفلاین
user-avatar
bardia ( 22836 تجربه )
2 سال پیش
تخصص : Golang/Laravel

به صورت زیر مثل داکیومنت استفاده کردم

    $chart = Charts::database(Post::all(), 'bar', 'highcharts')
    ->elementLabel("Total")
    ->dimensions(1000, 500)
    ->responsive(true)
    ->groupBy('name_id','name.model');

اما چیزی نشون نمیده
@ali.bayat

برای ارسال پاسخ باید وارد سایت شوید