بزرگترین جشنواره سال راکت! ۵۰ درصد تخفیف شگفت انگیز!

کلیک کن!
ثانیه
دقیقه
ساعت
روز
محسن رجبی
2 روز پیش توسط محسن رجبی مطرح شد
2 پاسخ

جستجو در لاراول

سلام من قطعه کدی دارم به شکل زیر که داخل کنترلر تعریف کردم:

  $classprograms = Classprogram::orderBy('created_at', 'desc');
        if (request()->has('search')) {
            [$classprograms = $classprograms->where('class', 'like', '%' . request()->get('search', '') . '%')];
           [$classprograms = $classprograms->where('day', 'like', '' . request()->get('search2', '') . '%')];
           [$classprograms = $classprograms->where('book_id', 'like', '%' . request()->get('search3', '') . '%')];
        }
        return view('admin.classprograms.index', ['classprograms' => $classprograms->paginate(10)]);
    }

در قسمت جستجو فیلدی دارم به عنوان book_id که کلید خارجی از جدول book هستش
حالا من دوتا سوال دارم:
اول اینکه من وقتی جستجو میکنم مثلا نام کلاس رو میکنم فقط با آی دی می تونم چطوری میشه طریق کلید خارجی به مقادیر جدول اشاره که که اینجا book هستش دست پیدا کرد من میخوام هنگام جستجو به جای آی دی نام کتاب رو بزنه و براش بیاره
نکته دوم اینکه من وقتی جستجو میکنم چطور میشه حساس به کلمه باشه برای مثال الان میزنم در قسمت روز شنبه بعد تمام روزهای هفته رو نشون میده چون داخل همشون شنبه رو داره میخوام حساسش کنم

اگر راهنمایی کنید ممنون میشم


ثبت پرسش جدید
محمدجوکار
تخصص : دانشجوی برنامه‌نویسی
@mjokarr 1 روز پیش آپدیت شد
0

سلام و احترام
پیشاپیش سال نو رو به شما دوست عزیز تبریک عرض میکنم و باید بگم ک خوشحالم بابت تلاش و پیگیریتون در راستای برنامه نویسی.

اولا: برای گرفتن اسم کتاب، با توجه به اینکه bookid رو زدی توی جدول کلاس‌ها، اگگه ریلیشین‌ها رو درست زده باشی، کوئری اولت رو این مدلی بزن:

$classprograms = Classprogram::with('book')-»query()

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

دوما: برای گرفتن روزهای هفته، بله میشه با کوئری این مورد رو هندل کرد، منتهی روزهای هفته رو که نباید توی input سرچ بنویسن ک، به صورت سلکت باکس بزاری کاملا مناسب تره، کلید دقیقش گرفته میشه اینطوری و همونو میتونی بزاری توی کوئری ک دقیق پیداش کنه.
سوالی بود دقیق تر بپرسید با کد، عرض میکنم خدمتتون.
همچنین من با موبال کد نوشتم، خطای سینتکسی داره اینو کپی نکن، از اول بنویس خودت همین مدلی.


محسن رجبی
تخصص : طراح وب
@hostmashhad 14 ساعت پیش مطرح شد
0

سلام ممنونم از راهنماییتون ولی من کلا طرح سوالم متفاوت از پاسخ شما بود
خیلی ممنونم


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

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