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

3 سال پیش
توسط روح اله ابراهیم زاده آپدیت شد
پوریا ( 3352 تجربه )
3 سال پیش

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

pedi ( 11026 تجربه )
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

روح اله ابراهیم زاده ( 8269 تجربه )
3 سال پیش
تخصص : PHP.LARAVEL

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

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

برای ارسال پاسخ باید وارد سایت شوید