امیرحسین
3 سال پیش توسط امیرحسین مطرح شد
2 پاسخ

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

سلام دوستان
من میخوام کاربر نتونه مقدار تکراری در دیتابیس وارد کنه
یه فیلد گذاشتم از جنس از جنس 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);
    }

ثبت پرسش جدید
فرشید مرادی
تخصص : noob
@eniack 3 سال پیش مطرح شد
0

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

unique:App\Models\Permission,name",

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


محمدسجاد دباغ
تخصص : برنامه نویس لاراول
@mdabbagh 3 سال پیش مطرح شد
-1

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

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

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

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