راکت

unique کردن روی 2فیلد هنگام validation

5 پاسخ

سلام
من میخوام موقع validate کردن request بررسی یونیک بودن روی دو فیلد صورت بگیره.
مثلا 2تا گروه داریم به اسم های a و b.
توی گروه a یه زیرگروه به اسم زیر گروه 1 داریم.توی گروه a دیگه نمیتونیم زیر گروه 1 داشته باشیم ولی توی گروه b امکانش هست.
میشه لطفا بگید چطور میشه این رو validate کرد؟
اینم بگم که نمیتونم از primary توی table استفاده کنم چون از increment id مجبورم استفاده کنم.

ممنون

ثبت پرسش جدید

پاسخ‌ها

5
سیدعلی موسوی
سیدعلی موسوی
@juza66

تخصص: سی شارپ و پی اچ پی

جواب سوالت رو نمیدونم پوریا

ولی منظورت از جمله زیر چیه ؟ 😃

اینم بگم که نمیتونم از primary توی table استفاده کنم چون از increment id مجبورم استفاده کنم.

pooria83
pooria83
@pjalili83

@juza66 سلام
دم شما گرم
چند روز پیش به یه اروری خوردم سر اینکه بعد از تعریف فیلد ها میخواستم 2تا فیلد رو توی migration تو آرایه primary قرار بدم .هر دو هم foreign key بودن .خطا میگرفت ازم و انجام نمیشد .بعد از سرچ متوجه شدم که اگر بخوام همچین کاری بکنم نمیتونم از id از تایپ unsignedBigIncreament استفاده کنم.
تونستم خوب توضیح بدم؟

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

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

تخصص: noob

سلام وقت بخیر ،
امکانش هست سمت فرانت هندل بشه ؟ این زیر گروه ها از کجا میان؟تایپ میشه یا سلکت میشه؟

Muhammad
Muhammad
@muhammad

تخصص: Back-End Developer

توی چنین مواقعی سعی کنین تصویری چیزی ضمیمه کنین تا بقیه بدونن چی می‌خوایین. این گروه‌ها و زیرگروه‌ها جدول هستن؟ چه شکلی هستن؟

pooria83
pooria83
@pjalili83

@juza66
@eniack
@muhammad
ممنون ازتون.من به روش زیر مشکل رو حل کردم

$data = $request->validate([
            'name' => ['required', 'string', 'max:255' ,
            Rule::unique('sub_groups')
                ->where('name', $name)
                ->where('group_id', $group_id )],
            'group_id' => ['required', 'numeric', 'min:1' , 'max:255' ],
        ]);

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

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