🔥 با کمک هوش مصنوعی در کمتر از 6 ماه فول‌استک شوید ...
۰ ثانیه
۰ دقیقه
۰ ساعت
۷ اورنگ چلبی
استفاده از route model binding
جامعه لاراول ایجاد شده در ۱۹ اسفند ۱۴۰۱

سلام وقتتون بخیر

از اینجا ک انتخاب کاربر با نیست و توسط user این عمل صورت میگیره راه حلی وجود داره ک ما با پیاده سازی اون از route model binding استفاده کنیم

                <form action="{{ route('notification.sendEmail') }}" method="POST" >
                    @csrf
                    <div class="form-group ">
                        <label for="user">@lang('notification.users')label>
                        <select name="user"  class="form-control" id="user">
                            @foreach ($users as $user)
                                <option value="{{ $user->id }}">{{ $user->name }}option>
                            @endforeach
                        select>
                    div>
                    <button type="submit" class="btn btn-info">@lang('notification.send')button>
                form>

مثلا شرطی رو این قسمت بزاریم

                        <select name="user"  class="form-control" id="user">
                            @foreach ($users as $user)
                                <option value="{{ $user->id }}">{{ $user->name }}option>
                            @endforeach
                        select>

وقتی user مشخص شد اون بگیره و پاس به وت ما تا مجبور به find کردن اون نباشیم؟

سلام مهدی عزیز

متوجه منظورت نمیشم.

کامل‌تر توضیح بده.

مهندس آمنه خداپناهی ۱۹ اسفند ۱۴۰۱، ۰۸:۰۷

در کنترلر به شکل زیر user پیدا کردیم

            $mail->sendMail(User::find($Request->user), new $mailable);

ولی چیزی ک هست قظعا روشی وجود داره برای استفاده از route model binding

من دنبال اونم

اورنگ چلبی ۱۹ اسفند ۱۴۰۱، ۰۸:۱۶

مهدی عزیز

برای این موارد اصلا انجام چنین کاری پیشنهاد نمیشه.

وقتش شما کاربر رو از ریکوئست میتونی دریافت کنی چه فرقی میکنه

توی روتر به شکل روت مدل بایندینگ استفاده کنید و توی فرم برای بایند شدن request->user رو پاس بدید.

مهندس آمنه خداپناهی ۱۹ اسفند ۱۴۰۱، ۰۸:۳۱

احمدرضا جان بنظر من به صورت binding کد ما تمیز تره و شکل و شمایل بهتری داره

اورنگ چلبی ۱۹ اسفند ۱۴۰۱، ۰۸:۴۸

ولی روش قبلی روش بهتری بود؛از لحاظ اصول و طراحی ساختار بهتری داشت.

هر طور مدنظرته.

مهندس آمنه خداپناهی ۱۹ اسفند ۱۴۰۱، ۰۹:۰۲

حالا درست یا غلط پیاده سازیش به چه شکل انجام میشه؟

اورنگ چلبی ۱۹ اسفند ۱۴۰۱، ۰۹:۴۵

روت مورد نظر رو اوکی کن و یوزر رو برای بایند قرار بده

بعد هم توی اکشن فرم روت رو بزن و یوزر رو به شکل زیر پاس بده:

{{route('notification.sendEmail',request()->user())}}
مهندس آمنه خداپناهی ۱۹ اسفند ۱۴۰۱، ۱۰:۴۹