vahiid
4 سال پیش توسط vahiid مطرح شد
7 پاسخ

جستجو ادمین ها بر اساس نام و نام خانوادگی و کد ملی در لاراول

با سلام

هنگام جستجو در کاربران ادمین بر اساس نام و نام خانوادگی و کد ملی در لاراول از دستور where و orWhere استفاده می کنم و مشکلم اینجاست که وقتی از orWhere استفاده میکنم دیگه فقط ادمین هارو برنمیگردونه و تمام کاربراهرو برمیگردونهتوضیح تصویر رو وارد کنید


ثبت پرسش جدید
Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش مطرح شد
0

@vahiidrah

به این صورت

        $query = Collect::where('name' , '%' . $search .'%')->orwhere('mobile' ,  '%' . $search .'%')->where('is_admin' , true)->limite(10)->get();

developer
تخصص : برنامه نویس
@developer 4 سال پیش مطرح شد
-2

به جای orwhere فقط where بذار


vahiid
@vahiidrah 4 سال پیش مطرح شد
0

@developer

نه دیگه اینطوری جستجوش به هم میریزه.
اینطوری میشه هم اسمش و هم فامیلیش و هم کد ملیش مقدار جستجو شده باشه!!
در صورتی که یا اسمش یا فامیلیش یا کد ملیش باید اون مقدار باشه


developer
تخصص : برنامه نویس
@developer 4 سال پیش مطرح شد
1

این چیزی که میخوای نباید اینطوری سرچ کنی
باید یه فیلتر بزنی بعد توی فیلتر LIKE بذاری و هر فیلدی که میخوای سرچ کنی


vahiid
@vahiidrah 4 سال پیش مطرح شد
0

@developer

من الان یه select box دارم که vue-select هست
داخلش میخام اسم یا فامیل یا کد ملی یه ادمین که وارد شد لیست اونارو به صورت ajax بیاره،فک نمیکنم بشه به صورت filter درش اورد که جدا فیلد هاشو جستجو کنم


Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش آپدیت شد
1

سلام دوست عزیز
@vahiidrah

این مورد اینکه همه کابران رو میاره طبیعیه چون در کوئری شما از orwhere استفاده شده.

برای اینکه ریلیشن شما (has)به درستی فیلتر بشه اونو بعد از orwhere ها قرار بدید :


    $query = Collect::where('name' , '%' . $search .'%')->orwhere('mobile' ,  '%' . $search .'%')->whereHas('role' , function (Builder  $q){
            $q->where('permission' , 'admin');
        })->limite(10)->get();```

vahiid
@vahiidrah 4 سال پیش مطرح شد
0

@golshahimohammadreza

با سلام
خیلی ممنون

اگه table ادمین جدا نباشه و یه فیلد بولیین is_admin داشته باشیم به چه صورت باید query برنیم؟


Mohammad reza Golshahi
تخصص : Go - Python
@golshahimohammadreza 4 سال پیش مطرح شد
0

@vahiidrah

به این صورت

        $query = Collect::where('name' , '%' . $search .'%')->orwhere('mobile' ,  '%' . $search .'%')->where('is_admin' , true)->limite(10)->get();

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

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