راکت

مشکل attach در رابطه چند به چند

4 پاسخ

سلام دوستان من دو تا جدول ساختم به اسم های button و telegramUser که رابطشون چن به چنده
الان میخوام موقع اضافه کردن یوزر توی جدول telegramUser
جدول میانی همون موقع ایجاد بشه و Id دوتا جدول بالا درونش قرار بگیره
این کدی هست که نوشتم ولی کار نمیکنه ،ضمنا توی هردو جدول بالا ی چن تا سطر ازمایشی ایجاد کردم ،لطفا راهنمایی کنید

        $chatId = request("message.chat.id");

        $buttons=Button::get(["id"]);

        $telegramUsers=TelegramUser::firstOrCreate([
            'chat_id' => $chatId
        ], [
            "name"=>$first_name,
        ]);

        foreach ($buttons as $button)
        {
             $telegramUsers->buttons()->attach($button);
        }
ثبت پرسش جدید

پاسخ‌ها

4
حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

سلام یه نکته هست که در رابطه چند به چند باید رعایت بشه و واجب هم هست اینکه اسم جدول میانه اینجا بسیار مهم است و از ادغام نام دوتا جدول اصلی باید ساخته بشه شما روش پیشنهادی لاراولو برای اسم گذاری جدول ها رعایت نکردین چون اینجا رابطه چند به چند داریم بیشتر تاکید میشه از روش نام گذاری جدول در لاراول پیروی کنید.
اسم جدول button رو جمع ببندید به buttons و اسم جدول telegramUser رو اینطوری ذکر کنید telegramusers و اسم جدول میانه رو هم بزارین button_telegramuser
برنامه رو تست کنین

علی بیات
علی بیات
@ali.bayat

تخصص: توسعه دهنده ارشد وب

کد رابطه ای که نوشتید رو بذارید

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

Saied Hr
Saied Hr
@saeedlovelorn2

اسم جدول میانی رو اشتباه نوشته بودم
روابط بین دو جدول رو هم باید belongsToMany میذاشتم که hasToMany گذاشته بودم
تغییرش دادم درست شد
خیلی ممنونم
@hosseinshirinegad98
@ali.bayat

حسین شیری نژاد
حسین شیری نژاد
@hosseinshirinegad98

تخصص: programmer

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

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