سلام
ميخوام پربازديد ترين پست ها در لاراول رو بر اساس view_count از جدول ديتابيس دريافت كنم و نمايش بدم. در گوگل سرچ كردم نتيجه درستي نگرفتم.
ممنون ميشم اگر راهنمايي كنيد كه بهتره كدش رو خودمون بزنيم يا از پكيج استفاده كنيم؟
تشكر
سلام.
شما ابتدا داخل جدول مربوطه که فکر میکنم مربوط به مقاله ها هست باید یه فیلد به صورت زیر تعریف کنید:
$table->integer('viewCount')->default(0);
حالا داخل اون فانکشنی که میخواین وقتی روی اون مقاله کلیک شد به صفحه مقاله بره، کد زیر رو اضافه کنید:
$article->increment('viewCount');
در واقع فانکشن شما تقریبا به صورت زیر میشه: (به این خاطر گفتم تقریبا چون شما اگه بخواین کامنت های مربوط به اون مقاله هم نشون بدین باید کد مربوطه هم داخل این فانکشن بنویسید.
public function single(Article $article ) {
$article->increment('viewCount');
return view('Home.article', compact('article'));
}
موفق باشید.
@Rp76
سمت فرانت كار چطور بايد بازديد اون پست يكي يكي اضافه شه؟
با جاوا اسكريپت يا لايوواير
شاید پاسخ شما همینجا باشد
سلام دوست عزیز
یکی از روش های انجام این کار به صورت session base رو داخل این پست از استک جواب دادن. با این روش ی تونید براساس کاربر و ip و useragent تمامی کار ها رو داخل database در جدول جداگانه handle کنید.
استک
سلام. ما یه پروژه داریم که داخل اون جدولی برای ذخیرهی اطلاعات بازدیدها داریم. آیدی کاربر (در صورت وجود)، آدرس IP و آیدی پست رو ذخیره میکنیم و بعداً کوئری میزنیم.