سلام دوستان روزتون بخیر
در لارول چطوری میشه مقاله هایی که در ماه جاری ثبت شده رو گرفت؟
با استفاده از ستون created_at
ممنون
این کوئری:
Article::whereMonth('created_at', '=', Carbon::now()->month)->count()
داره میگه تعداد مقالات این ماه رو برگردون.. اما سالش اهمیت نداره... میشه مقالاتی که در سپتامبر نوشته شدند
به این ترتیب نکات زیر رو داریم:
اگر قصدت شمارش مقالات از اول هر ماه هست: از whereMonth و whereYear استفاده کن
اگر قصدت شمارش مقالات ۳۰ روز گذشته هست: از whereDate استفاده کن
سلام
Article::whereMonth('created_at', '=', Carbon::now()->subMonth()->month)->get(['name','created_at']);
از متد whereMonth که دوستمون گفت میتونی استفاده کنی..
همچنین از متد whereDate هم میتونی استفاده کنی:
$articles = Article::latest()
->whereDate(
'created_at',
'>',
\Carbon\Carbon::now()->subMonth())
->get();
سلام دستوری که شما نوشتین تا حدودی نادرست است ما باید تاریخ کامل رو چک کنیم. در دستور شما اگر ما چند سال با ماهای یکسان داشته باشیم دستور کوئری شما همه مقاله های اون سال هارو میاره که ایشون مقاله های سال جاری و ماه جاری رو میخواستن بعد متد subMonth که اشاره به ماه قبلی دارن.
Article::whereYear('created_at', '=', Carbon::now()->year)
->whereMonth('created_at', '=', Carbon::now()->month)
->get(['name','created_at']);
Article::whereMonth('created_at', '=', Carbon::now()->month)->count()
سلام اگر به این صورت بنویسم بعدا مشکلی که بوجود نمیاد؟
@Hossein.sadeGHi
اگر بخواهید کمی بهینه تر بشه میشه از این هم استفاده کرد :
->whereRaw("date_add(created_at, INTERVAL 1 MONTH) > NOW()")
or
->whereRaw("date_add(created_at, INTERVAL 30 DAY) > NOW()")
این کوئری:
Article::whereMonth('created_at', '=', Carbon::now()->month)->count()
داره میگه تعداد مقالات این ماه رو برگردون.. اما سالش اهمیت نداره... میشه مقالاتی که در سپتامبر نوشته شدند
به این ترتیب نکات زیر رو داریم:
اگر قصدت شمارش مقالات از اول هر ماه هست: از whereMonth و whereYear استفاده کن
اگر قصدت شمارش مقالات ۳۰ روز گذشته هست: از whereDate استفاده کن
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟