سلام دوستان میخواهم برای کاربر یک چارت ایجاد کنم. این چارت این طور خواهد بود:
کاربر با شرکت در یک مسابقه و با حل کردن هر سوال به کاربر امتیازی داده خواهد شد.
میخواهم که این امتیازات دریافت شده کاربر در یک چارت نمایش بدم.
برای مثال همانند سایت : سایت کوئرا
چارت هم طبق chart.js و vue.js خواهد بود.
ممنون میشوم کمک کید.
@mohammad.ar
بله میتونید یک جدول برای امتیازات داشته باشید اما مجموعه امتیاز کاربر رو در یک فیلد در جدول کاربر قرار بدید هیچ وقت جمع کل امیتاز رو با محاسبه امتیازات از جدول امتیازات در صفحههای مختلف نشون ندید ! اما یعنی چی
برای مثال همین راکت یک شخص ۲۰۰ هزار تجربه داره که از امیتازهای کوچیک بدست اومده اگر بخوایم در هر صفحه این امتیاز رو نمایش بدیم و برای نمایشش بریم وارد جدول امتیاز بشیم و امتیازهای مربوط به این کاربر رو برگردونیم و جمع کنیم
حجم زیادی از اطلاعات میشه حالا در پروژه های بزرگتر بدتر میشه این داستان
بجاش کاربر مورد نظر یک فیلد داره در جدول کاربران که هر امتیازی که میگیره در کنار اینکه به جدول امتیاز اضافه میشه در اون فیلد هم جمع میشه . و در هر صفحهای به امتیاز کلیش نیاز باشه اون فیلد صدا زده میشه
ممنون پاسخ دادید تنها مشکلی که دارم این هست واسه ی امتیاز ها ی مدل و مایگرشن بسازم!
@mohammad.ar خب میتونید امتیاز ها رو داخل یه متغیر بریزید و اگه بتونید مستندات chartJS رو بخونید خیلی خوبه
اگع نمیتونید بخونید توی یوتیوب Traversy media به صورت خیلی ساده توضیح داده
@mohammad.ar
بله میتونید یک جدول برای امتیازات داشته باشید اما مجموعه امتیاز کاربر رو در یک فیلد در جدول کاربر قرار بدید هیچ وقت جمع کل امیتاز رو با محاسبه امتیازات از جدول امتیازات در صفحههای مختلف نشون ندید ! اما یعنی چی
برای مثال همین راکت یک شخص ۲۰۰ هزار تجربه داره که از امیتازهای کوچیک بدست اومده اگر بخوایم در هر صفحه این امتیاز رو نمایش بدیم و برای نمایشش بریم وارد جدول امتیاز بشیم و امتیازهای مربوط به این کاربر رو برگردونیم و جمع کنیم
حجم زیادی از اطلاعات میشه حالا در پروژه های بزرگتر بدتر میشه این داستان
بجاش کاربر مورد نظر یک فیلد داره در جدول کاربران که هر امتیازی که میگیره در کنار اینکه به جدول امتیاز اضافه میشه در اون فیلد هم جمع میشه . و در هر صفحهای به امتیاز کلیش نیاز باشه اون فیلد صدا زده میشه
@hesammousavi
آقای موسوی گفته بودید که
یک جدول برای امتیازات داشته باشید اما مجموعه امتیاز کاربر رو در یک فیلد در جدول کاربر قرار بدید هیچ وقت جمع کل امیتاز رو با محاسبه امتیازات از جدول امتیازات در صفحههای مختلف نشون ندید ! اما یعنی چی
برای مثال همین راکت یک شخص ۲۰۰ هزار تجربه داره که از امیتازهای کوچیک بدست اومده اگر بخوایم در هر صفحه این امتیاز رو نمایش بدیم و برای نمایشش بریم وارد جدول امتیاز بشیم و امتیازهای مربوط به این کاربر رو برگردونیم و جمع کنیم
حجم زیادی از اطلاعات میشه حالا در پروژه های بزرگتر بدتر میشه این داستان
بجاش کاربر مورد نظر یک فیلد داره در جدول کاربران که هر امتیازی که میگیره در کنار اینکه به جدول امتیاز اضافه میشه در اون فیلد هم جمع میشه . و در هر صفحهای به امتیاز کلیش نیاز باشه اون فیلد صدا زده میشه
منم همچین کردم. امتیاز های کاربر رو برمیگردونم فقط lables به این شکله :
<div class="card-header card-header-success">
<div class="ct-chart" id="dailySalesChart">
<user :values="[0,0,0,0,0,0,0,0,0,0,0,0]" :labels="["\u0641\u0631\u0648\u0631\u062f\u06cc\u0646","\u0627\u0631\u062f\u06cc\u0628\u0647\u0634\u062a","\u062e\u0631\u062f\u0627\u062f","\u062a\u06cc\u0631","\u0645\u0631\u062f\u0627\u062f","\u0634\u0647\u0631\u06cc\u0648\u0631","\u0645\u0647\u0631","\u0622\u0628\u0627\u0646","\u0622\u0630\u0631","\u062f\u06cc","\u0628\u0647\u0645\u0646","\u0627\u0633\u0641\u0646\u062f"]"></user>
</div>
</div>
کد های منم :
$month = 12;
$score = auth()->user()->score()->latest()->get();
$labels = $this->getLastMonth($month);
$values = $this->CheckCount($score->pluck('published') , $month);
private function getLastMonth(int $month){
for ($i = 0 ; $i < $month ; $i++){
$labels[] = jdate(Carbon::now()->subMonth($i))->format('%B');
}
return array_reverse($labels);
}
private function CheckCount($count, int $month){
for ($i = 0; $i < $month ; $i++){
$new[$i] = empty($count[$i]) ? 0 : $count[$i];
}
return array_reverse($new);
}
و چارت نمایش داده نمیشه.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟