محسن مهری
4 سال پیش توسط محسن مهری مطرح شد
4 پاسخ

ذخیره نکردن داده تکراری

سلام و خسته نباشید عزیزان
یک فرم دارم وقتی میخام ذخیره کنم،قبلش میخام بررسی کنم که اگه قبلا ذخیره نشده بود توی جدول(توی رکوردهای قبلیمون) ذخیرش کنم
چیکار کنم چی بنویسم ؟؟
همچنین برای جدول میانی هم چیکار کنم (اونم همین مشکل؟)(جدول pivot)


ثبت پرسش جدید
سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش مطرح شد
1

سلام
چرا اصرار دارین اینهمه کوئری و کد بزنین!
اقای @khanzadimahdi اشاره کردن تویی ولیدیشن یه unique بنویس بهت اجازه ثبت تکراری اطلاعات نمیده!

public function store(Request $request)
{
    $validatedData = $request->validate([
        'title' => 'required|unique:posts|max:255',
        'body' => 'required',
    ]);

    // The blog post is valid...
}

محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش مطرح شد
0

سلام به جوابم رسیدم با تابع firstOrCreate اما، هنوزم با آپدیت کردن جدول میانی مشکل دارم.

$word_en = auth()->user()->englishes()->firstOrCreate(request(['word_en']));
$word_fa = auth()->user()->persians()->firstOrCreate(request(['word_fa']));
$word_en->persians()->attach($word_fa->id);//this is error

mahdi khanzadi
تخصص : backend developer at Snapp mar...
@khanzadimahdi 4 سال پیش مطرح شد
1

توی ولیدیشن یه چیزی داریم به نام unique بررسی میکنه اگه یونیک باشه (قبلا ثبت نشده باشه) اجازه ثبت فرم رو میده.


محسن مهری
تخصص : برنامه نویس back-end با زبان...
@mohsen.mehri6101 4 سال پیش مطرح شد
0

سلام خودم از دستی اون رو گذاشتم که داده تکراری ثبت نکنه دیگه (!!)
اما به هر حال جواب سوالمو گرفتم با این روش :

try {
            $word_en->persians()->attach($word_fa->id);
        }catch(\Illuminate\Database\QueryException $e) {
            alert()->error('این کلمه قبلا ذخیره شده است', 'خطا!')->autoclose(2000);
            return redirect()->back();
        }

سیدعلی موسوی
تخصص : سی شارپ و پی اچ پی
@juza66 4 سال پیش مطرح شد
1

سلام
چرا اصرار دارین اینهمه کوئری و کد بزنین!
اقای @khanzadimahdi اشاره کردن تویی ولیدیشن یه unique بنویس بهت اجازه ثبت تکراری اطلاعات نمیده!

public function store(Request $request)
{
    $validatedData = $request->validate([
        'title' => 'required|unique:posts|max:255',
        'body' => 'required',
    ]);

    // The blog post is valid...
}

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

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