سلام دوستان
میشه یه حالت خلاصه برای این پیشنهاد بدید
$query->orWhere('sizes','LIKE', '%,'.$val.',%')
->orWhere('sizes','LIKE', '%['.$val.',%')
->orWhere('sizes','LIKE', '%,'.$val.']%')
->orWhere('sizes','LIKE', '%['.$val.']%');
میخوام دو طرف val عدد نباشه. مثلا اگر عدد 1 رو سرچ میکنیم 10 یا 11 یا ... رو برنگردونه
@hadikhanian
@endworld
@sinashahoveisi
@AlirezaQolamian
@savadkouhihatameh
@alireza.radmanesh
@hesammousavi
سلام
اگر نیاز دارید مشخصا عدد مورد نظر سرچ بشه نیازی به LIKE و سرچ کردن با % نیست
چون در صورت استفاده از % به شما گزینه های مشابه هم نشون داده میشه
اگر مشخصا دنبال یک مقدار خاص میگردید به این صورت سرچ رو انجام بدید:
$query->orWhere('sizes',$val)
->orWhere('sizes',$val)
->orWhere('sizes',$val)
->orWhere('sizes',$val)
یا حتی اگر چندین مورد رو میخواید سرچ کنید به صورت زیر میتونید انجام بدید:
$query->whereIn('sizes' , [$value1 , $value2 , $value3]);
میتونید مقادیری که قرار هست سرچ بکنید رو داخل یه آرایه تعریف کنید.
$array = [1,2,10];
بعد به کمک متد json_encode آرایه رو به استرینگ تبدیل کنید و کوئری بزنید:
$searchString = json_encode($array);
$query->where('sizes', $searchString);
هر چند در مجموع کاری که انجام دادید اصولی نیست و بهتر بود یه جدول سایز داشتید و از طریق رابطه چند به چند میتونستید چندین سایز رو به چند محصول یا برعکس اختصاص بدید و بعد با استفاده از whereHas میتونستید به راحتی فیلتر انجام بدید
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟