پوریا
6 سال پیش توسط پوریا مطرح شد
2 پاسخ

جست و جو بین دو تاریخ

سلام
به چه شکل می توانم خروجی بین دو تاریخ را از کاربر دریافت کنم و نمایش بدم با استفاده از Eloquent
و چطوری میشود مثلا رکوردهای سال 96 را گرفت ، یا مثلا ماه شهریور سال 95 یا مهر و آبان 96 و ....


ثبت پرسش جدید
عمو پدی
تخصص : برنامه نویس خرده پای ری اکت
@pedram6195 6 سال پیش آپدیت شد
3

برای مقایسه بین دوتاریخ میتونید از علامت های < یا > یا = استفاده کنید. با تاریخ هم مثل اعدادصحیح رفتار میشه.
برای اینکه بخواین رکوردهای مثلا سال 96 رو دریافت کنید، باید دو متغیر شروع و پایان برای خودتون در کنترلر تعریف کنید که شروعش اول سال 96 باشه و آخرش باشه آخر 96. بعدش هرچی رکورد بین این دو تاریخ هستو میگیرید:

$start = date(1396-01-01);
$end = date(1396-12-29);
$result = Model::where('created_at', '>=', $start)
            ->where('created_at', '<=', $end)
            ->get();

البته این فقط مثال هست، شما باید تاریخارو به میلادی تبدیل کنید! بعدش در دیتابیس چک کنید
کار با تاریخ و زمان میلادی : http://carbon.nesbot.com/docs

کار با تاریخ و زمان شمسی: https://github.com/morilog/jalali


روح اله ابراهیم زاده
تخصص : PHP.LARAVEL
@rohi1386 6 سال پیش مطرح شد
2

میتونید با استفاده از ex این کارو بکنید . این کتد میاد تاریخ رو میشکنه براتون و هرکدومو تو آرایه قرار میده بعدش هم راحت میتونید با اعداد آرایه اعداد رو بگیرین و مقایسه کنید.

$data = explode( '-' ,jDate::forge(time())->format('date'));
که نتیجش میشه این :
array:3 [▼
0 => "1396"
1 => "08"
2 => "06"
]
الانم با 0 و 1 و 2 دسترسی داری و میتونی هر دستوری خواستی روش اجرا کنی


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

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