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

جمع ستون هادر لاراول

سلام دوستان من ی جدول دارم ب اسم purchase ک توی تصویر هست فیلد هاش حالا من میخوام اطلاعات رو اینتوری ازش بکشم بیرون اولین شرط اینه ک user_id های ک مساوی هم هستن تاریخ رو اینتوری توی دیتابیس ثبت کردم 1399-10-19 21:13
حالا میخوام ی شرط دیگ بزارم اطلاعاتی ک توی ماه دهم سال وارد شدن باشه
بعد اونایی ک این شرط هارو داشتن purchase_amount باهم جمع بشه من این کد رو تا جایی ک user_id هایی ک یکسانن رو جمع کنه نوشتم ولی نمیدونم چطور این شرط رو برای تاریخ بنویسم
توضیح تصویر رو وارد کنید


ثبت پرسش جدید
Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش مطرح شد
0

ما whereMonth داریم ولی تا حالا با تاریخ شمسی تست نکردم. البته ذخیره‌کردن تاریخ شمسی توی دیتابیس کار جالبی نیست!


NESYOU
تخصص : توسعه دهنده بک اند
@nesyourys 4 سال پیش مطرح شد
0

@muhammad
خب اگ من از whereMonth ک شمامیگی استفاده کنم چطور باید بفهمم این کدوم ماه شمسیه!؟


Muhammad
تخصص : Back-End Developer
@muhammad 4 سال پیش مطرح شد
0

فکر می‌کنم که whereMonth بر اساس فرمت تاریخ کار می‌کنه، پس به احتمال خیلی زیاد جواب می‌ده و روی بخش m از فرمت تاریخ کار می‌کنه.
ولی اگه میلادی ذخیره می‌کردید، تاریخ شمسی رو با یه پکیج می‌ساختید و بعد تبدیل به میلادی می‌کردید و بر اساس اون کوئری می‌زدید.


Bahman Aliveisi
@roj 4 سال پیش مطرح شد
1

میتونی به این شکل گروه بندی کنی:

->groupBy(DB::raw('substring_index(jdate,"-",2)'))                           // 1399-10
یا
->groupBy(DB::raw('substring_index(substring_index(jdate,'-',-2),'-',1)'))   // 10

روش دوم:
اگر jdate با created_at یکی است میتونی ابتدا و انتهای ماه (1399-10-01 و 1399-10-30) رو به میلادی تبدیل کنی و جستجو را بر اساس تاریخ میلادی روی created_at انجام بدی


NESYOU
تخصص : توسعه دهنده بک اند
@nesyourys 4 سال پیش مطرح شد
0

@roj ممنونم از راهنماییتون substring_index چیه؟ باید بجاش چی بزارم؟


Bahman Aliveisi
@roj 4 سال پیش آپدیت شد
0

substringindex یک تابع mysql است که یک قسمت از ستونی که بهش میدی و با توجه به جدا کاراکتر کننده برات استخراج میکنه. لازم نیست بجاش چیزی بگذاری. بهش سه تا پارامتر میدی
نام ستون
جدا کننده
دفعات جستجو جدا کننده


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

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