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

3 ماه پیش توسط Bahman Aliveisi آپدیت شد
آفلاین
user-avatar
NESYOU ( 10187 تجربه )
3 ماه پیش
تخصص : توسعه دهنده بک اند

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
Muhammad ( 13210 تجربه )
3 ماه پیش
تخصص : Back-End Developer

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
NESYOU ( 10187 تجربه )
3 ماه پیش
تخصص : توسعه دهنده بک اند

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
Muhammad ( 13210 تجربه )
3 ماه پیش
تخصص : Back-End Developer

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
Bahman Aliveisi ( 18217 تجربه )
3 ماه پیش

لینک کوتاه اشتراک گذاری

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 انجام بدی

آفلاین
user-avatar
NESYOU ( 10187 تجربه )
3 ماه پیش
تخصص : توسعه دهنده بک اند

لینک کوتاه اشتراک گذاری

0

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

آفلاین
user-avatar
Bahman Aliveisi ( 18217 تجربه )
3 ماه پیش

لینک کوتاه اشتراک گذاری

0

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

برای ارسال پاسخ لازم است، ابتدا وارد سایت شوید.