sina
1 سال پیش توسط sina مطرح شد
6 پاسخ

سرچ در لاراول

سلام دوستان
میشه یه حالت خلاصه برای این پیشنهاد بدید

    $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


ثبت پرسش جدید
محمدرضا افخمی
تخصص : Laravel Backend Developer
@mhmdrezafk 1 سال پیش مطرح شد
0

سلام
اگر نیاز دارید مشخصا عدد مورد نظر سرچ بشه نیازی به LIKE و سرچ کردن با % نیست
چون در صورت استفاده از % به شما گزینه های مشابه هم نشون داده میشه
اگر مشخصا دنبال یک مقدار خاص میگردید به این صورت سرچ رو انجام بدید:

$query->orWhere('sizes',$val)
                   ->orWhere('sizes',$val)
                   ->orWhere('sizes',$val)
                   ->orWhere('sizes',$val)

یا حتی اگر چندین مورد رو میخواید سرچ کنید به صورت زیر میتونید انجام بدید:

$query->whereIn('sizes' , [$value1 , $value2 , $value3]);

sina
@s.aerospace 1 سال پیش مطرح شد
0

ا ز داخل استرینگ سرچ میکنم فرض کنید یک همچین چیزی
"[1,2,10]"


محمدرضا افخمی
تخصص : Laravel Backend Developer
@mhmdrezafk 1 سال پیش مطرح شد
0

میتونید مقادیری که قرار هست سرچ بکنید رو داخل یه آرایه تعریف کنید.

$array = [1,2,10];

بعد به کمک متد json_encode آرایه رو به استرینگ تبدیل کنید و کوئری بزنید:

$searchString = json_encode($array);
$query->where('sizes', $searchString);

محمدرضا افخمی
تخصص : Laravel Backend Developer
@mhmdrezafk 1 سال پیش مطرح شد
0

هر چند در مجموع کاری که انجام دادید اصولی نیست و بهتر بود یه جدول سایز داشتید و از طریق رابطه چند به چند میتونستید چندین سایز رو به چند محصول یا برعکس اختصاص بدید و بعد با استفاده از whereHas میتونستید به راحتی فیلتر انجام بدید


sina
@s.aerospace 1 سال پیش مطرح شد
0

جدول سایز دارم و این قسمت رو برای فیلتر کردن اضافه کردم به محصولات


محمدرضا افخمی
تخصص : Laravel Backend Developer
@mhmdrezafk 1 سال پیش مطرح شد
0

چرا از متد whereHas استفاده نمیکنید؟


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

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