راکت
حل شده

فلیلتر در فیلد سریالایز شده در دیتابیس

2 پاسخ

سلام دوستان
فرض کنید در لاراول یک آرایه به صورت serialize شده در یک فیلد بنام sizes در جدول products ذخیره کردیم. حالا هنگام query زدن قصد داریم این آرایه را با آرایه ای که کاربر انتخاب کرده مقایسه کنیم(در واقع میخواهیم فیلتر انجام بدیم). میخواهیم این ردیف از جدول حتی با داشتن یک عنصر مشترک بین دو آرایه برای ما بازگردانده شود. این کار را حتما باید در query انجام بدم نه با foreach. ممنونم
@hadikhanian
@sinashahoveisi
@webnolin
@endworld
@juza66
@hesammousavi
@developer

sina
sina
@s.aerospace
ثبت پرسش جدید

پاسخ‌ها

2
سید هادی خانیان
سید هادی خانیان
@hadikhanian

تخصص: برنامه نویس PHP

بهترین پاسخ

سلام.
به صورت کلی باید اطلاعاتی به صورت serialize شده در دیتابیس ذخیره نماید که نیازی به کوئری گرفتن از آنها نداشته باشید.
در نتیجه باید روش کار را اصلاح یا روش های دیگری به غیر کوئری گرفتن مستقیم از دیتابیس استفاده نمایید.

سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

همانطور که سیدهادی اشاره کردن شما وقتی دیتای رو serialize میکنید نمیتونین کوئری مستقیم بزنید و باید از map در کالکشن استفاده کنید، درباره map کردن کالکشن سرچ کنید

شاید پاسخ شما همین‌جا باشد

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

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