Armin Rahmati
4 سال پیش توسط Armin Rahmati مطرح شد
1 پاسخ

نمایش ندادن روزهای رزرو شده

سلام دوستان.
من یه جدول دریافت نوبت دارم:

Schema::create('turns', function (Blueprint $table) {
            $table->id();
            $table->foreignId('user_id')->constrained()->onDelete('CASCADE')->onUpdate('CASCADE');
            $table->integer('doctor_id');
            $table->string('specialty');
            $table->string('day');
            $table->integer('hour');
            $table->timestamps();
        });

حالا من میخوام وقتی یه بیمار میاد یه روز رو رزرو میکنه دیگه اون روز به کاربرای دیگه نمایش داده نشه، برای این کار اومدم داخل مدل User کد زیر رو قرار دادم.

public function checkDays($day) {

        return Turn::where('user_id' , $this->id)->where('doctor_id', $day->id)->get();
    }

داخل بلید هم به صورت زیر قرار دادم.

<select class="form-control" name="day">
    @foreach($doctor->days as $day)
        @if(auth()->user()->checkDays($day))
           <option value="{{ $day->days }}">{{ $day->days }}</option>
        @endif
    @endforeach
</select>

ولی همچنان همه ی روزها رو بهم نشون میده


ثبت پرسش جدید
moha li
تخصص : توسعه دهنده لاراول و Vue
@mohaligateway 4 سال پیش مطرح شد
0

سلام دوست عزیز
می تونی از قابلیت soft delete استفاده کنی.
https://laravel.com/docs/8.x/eloquent#soft-deleting
@arminrahmati999


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

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