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

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

فرم جستجو لاراول 10

سلام جداول به نام Teacher و Book و Classprogram
داخل جدول Classprogram جدول book_id و teacher_id کلید هستند.
در قسمت book_id وقتی سرچ میکنم بر اساس ای دی خب درسته ... ولی من میخوام از book_id بره داخل جدول book و فیلد نامش رو جستجو کنم
میتونید راهنمایی کنید؟

دستورات داخل کنترلر Classprogram

    public function index()
    {
        $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)]);
    }

فرم جستجو

<form method="get" action="{{ route('admin.classprograms.index') }}">
                    <label class="fw-bold text-primary">کلاس</label>
                    <input type="text" name="search">
                    <label class="fw-bold text-primary">روز هفته</label>
                    <input type="text" name="search2">
                    <label class="fw-bold text-primary">نام درس</label>
                    <input type="text" name="search3">
                    <input type="submit" value="جستجو" class="fw-bold text-primary">
                </form>

ثبت پرسش جدید
سینا هوشمند
@30naan302498 1 هفته پیش مطرح شد
1
public function index()
    {
        $classprograms = Classprogram::with(['book' => function($query){
            $query->where('name' , 'like' , '%'.$bookname.'%');
        }])->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)]);
    }

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

سلام ممنونم ولی خطا میده
خطاش

Undefined variable $bookname

سینا هوشمند
@30naan302498 1 هفته پیش مطرح شد
0

سلام اون $book_name درواقع اینپوتی هست که از طرف فرمت باید ارسال کنی من همینطوری اسم نوشتم داخل فرمت یدونه اینپوت بزار اسمشو بزار book_name .


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

سلام
بله صحیح می فرمایید ولی بازهم خطا میده من مقدار اون input سرچ باکس رو برابر کردم ولی مشکل اینجاس که وقتی $bookname اینجا قرار میگیره اینو یک متغییر می شناسه و چون ما تعریفش نکردیم خطا میده
منم هرچقدر تعریفش میکنم بازهم خطا میده.


سینا هوشمند
@30naan302498 1 هفته پیش مطرح شد
0

کدت رو بزار اینجا بررسی کنم


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

سلام مجدد
کد همون ابتدا اول قرار دادم
دستوراتی که داخل صفحه ایندکس و فرم جستجو و دستورات کنترل در اولین تایپیک قرار دادم
مشکل من الان اینجاست وقتی نام درس رو میزنم چیزی نمیاره چون دارم میگرده دنبال آی دی


سینا هوشمند
@30naan302498 4 روز پیش مطرح شد
0
public function index(Request $request)
{
    $classprograms = Classprogram::with(['book' => function ($query) use ($request) {
        if ($request->filled('bookname')) {
            $query->where('name', 'like', '%' . $request->bookname . '%');
        }
    }])->orderBy('created_at', 'desc');

    // فیلتر کردن بر اساس ورودی‌های جستجو
    if ($request->filled('search')) {
        $classprograms->where('class', 'like', '%' . $request->search . '%');
    }

    if ($request->filled('search2')) {
        $classprograms->where('day', 'like', '%' . $request->search2 . '%');
    }

    if ($request->filled('search3')) {
        $classprograms->where('book_id', $request->search3);
    }

    return view('admin.classprograms.index', [
        'classprograms' => $classprograms->paginate(10)
    ]);
}

اینو امتحان کن


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

این کد هم مشکل داره ممنونم از راهنمایی شما
ظاهرا باید دنبال راهکار بهتری باشم
لطف کردید🙏


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

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