سلام
ميخوام پربازديد ترين پست ها در لاراول رو بر اساس 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
سمت فرانت كار چطور بايد بازديد اون پست يكي يكي اضافه شه؟
با جاوا اسكريپت يا لايوواير
من livewire بلد نیستم!
ولی کلیت کار باید به این صورت باشه
شما وقتی کاربر روی یک پست کلیک میکنه و شما داری اطلاعات پست رو لود میکنی همونجا یه اپدیت هم بزنی
به جاوا اسکریپ و لایوایر هم نیاز نداری
سلام. ما یه پروژه داریم که داخل اون جدولی برای ذخیرهی اطلاعات بازدیدها داریم. آیدی کاربر (در صورت وجود)، آدرس IP و آیدی پست رو ذخیره میکنیم و بعداً کوئری میزنیم.
سلام.
شما ابتدا داخل جدول مربوطه که فکر میکنم مربوط به مقاله ها هست باید یه فیلد به صورت زیر تعریف کنید:
$table->integer('viewCount')->default(0);
حالا داخل اون فانکشنی که میخواین وقتی روی اون مقاله کلیک شد به صفحه مقاله بره، کد زیر رو اضافه کنید:
$article->increment('viewCount');
در واقع فانکشن شما تقریبا به صورت زیر میشه: (به این خاطر گفتم تقریبا چون شما اگه بخواین کامنت های مربوط به اون مقاله هم نشون بدین باید کد مربوطه هم داخل این فانکشن بنویسید.
public function single(Article $article ) {
$article->increment('viewCount');
return view('Home.article', compact('article'));
}
موفق باشید.
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟