راکت

عمل نکردن شرط unique

2 پاسخ

سلام دوستان
من میخوام کاربر نتونه مقدار تکراری در دیتابیس وارد کنه
یه فیلد گذاشتم از جنس از جنس string که میخوام unique باشه با این که توی ولیدشن هم گذاشتمش ولی متاسفانه عمل نمیکنه یعنی شرط unique بودن چک نمیشه
ممنون میشم راهنمایی بفرمایید

public function select_date_time(Request $request)
    {
        $rules = [
            'date' => 'required', 'unique:times',
            'hour' => 'required',
        ];
        $message = [
            'date.required' => 'تاریخ و ساعت را انتخاب کنید',
            'hour.required' => 'ساعت را انتخاب کنید',
        ];
        $validator = Validator::make($request->all(), $rules, $message);
        if ($validator->fails()) {
            // return back()->withErrors($validator)->withInput();
            return redirect(route('doctor.profile'))
                ->withErrors($validator)
                ->withInput();
        }

        $doctor_date = new Time();
        $doctor_date->date = $request->date;
        $doctor_date->hour = $request->hour;
        $doctor_date->user_id = Auth::user()->id;
        $doctor_date->save();
        return back()->with('success', true);
    }
ثبت پرسش جدید

پاسخ‌ها

2
فرشید مرادی
فرشید مرادی
@eniack

تخصص: noob

سلام ، این کد رو تست کنید

unique:App\Models\Permission,name",

و توضیحش این هست که داخل مدل permission باید فیلد name تکراری نباشه شما کد خودتون رو جایگزین کنید

محمدسجاد دباغ
محمدسجاد دباغ
@mdabbagh

تخصص: برنامه نویس لاراول

سلام دوست عزیز!
ولیدشن که فقط تو فرانت بررسی میکنه و ارتباطی با دیتا بیس نداره.
شما باید توی Migrations برای ستون مورد نظر به این شکل عمل کنید

$table->string('email')->unique();

شاید پاسخ شما همین‌جا باشد

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

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