راکت
حل شده

نمايش پربازديد ترين پست ها در لاراول

6 پاسخ

سلام
ميخوام پربازديد ترين پست ها در لاراول رو بر اساس view_count از جدول ديتابيس دريافت كنم و نمايش بدم. در گوگل سرچ كردم نتيجه درستي نگرفتم.
ممنون ميشم اگر راهنمايي كنيد كه بهتره كدش رو خودمون بزنيم يا از پكيج استفاده كنيم؟
تشكر

آرمین
آرمین
@arminbeik
ثبت پرسش جدید

پاسخ‌ها

6
رضا جهانگیر
رضا جهانگیر
@rezajahangir

تخصص: Full-Stack Developer

بهترین پاسخ

سلام.
شما ابتدا داخل جدول مربوطه که فکر میکنم مربوط به مقاله ها هست باید یه فیلد به صورت زیر تعریف کنید:

$table->integer('viewCount')->default(0);

حالا داخل اون فانکشنی که میخواین وقتی روی اون مقاله کلیک شد به صفحه مقاله بره، کد زیر رو اضافه کنید:

$article->increment('viewCount');

در واقع فانکشن شما تقریبا به صورت زیر میشه: (به این خاطر گفتم تقریبا چون شما اگه بخواین کامنت های مربوط به اون مقاله هم نشون بدین باید کد مربوطه هم داخل این فانکشن بنویسید.

public function single(Article $article ) {
     $article->increment('viewCount');
     return view('Home.article', compact('article'));
}

موفق باشید.

رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

سلام وقتتون بخیر!

$posts=Post::orderby("view_count","DESC")->get();
آرمین
آرمین
@arminbeik

@Rp76
سمت فرانت كار چطور بايد بازديد اون پست يكي يكي اضافه شه؟
با جاوا اسكريپت يا لايوواير

شاید پاسخ شما همین‌جا باشد

رضا پارسیان
رضا پارسیان
@Rp76

تخصص: توسعه دهنده Php , Laravel

من livewire بلد نیستم!

ولی کلیت کار باید به این صورت باشه
شما وقتی کاربر روی یک پست کلیک میکنه و شما داری اطلاعات پست رو لود می‌کنی همونجا یه اپدیت هم بزنی

به جاوا اسکریپ و لایوایر هم نیاز نداری

moha li
moha li
@mohaligateway

تخصص: توسعه دهنده لاراول و Vue

سلام دوست عزیز
یکی از روش های انجام این کار به صورت session base رو داخل این پست از استک جواب دادن. با این روش ی تونید براساس کاربر و ip و useragent تمامی کار ها رو داخل database در جدول جداگانه handle کنید.
استک

@arminbeik

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

سلام. ما یه پروژه داریم که داخل اون جدولی برای ذخیره‌ی اطلاعات بازدیدها داریم. آیدی کاربر (در صورت وجود)، آدرس IP و آیدی پست رو ذخیره می‌کنیم و بعداً کوئری می‌زنیم.

برای ارسال پاسخ لازم است وارد شده یا ثبت‌نام کنید

ورود یا ثبت‌نام