سلام دوستان من دو تا جدول ساختم به اسم های 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);
}
سلام یه نکته هست که در رابطه چند به چند باید رعایت بشه و واجب هم هست اینکه اسم جدول میانه اینجا بسیار مهم است و از ادغام نام دوتا جدول اصلی باید ساخته بشه شما روش پیشنهادی لاراولو برای اسم گذاری جدول ها رعایت نکردین چون اینجا رابطه چند به چند داریم بیشتر تاکید میشه از روش نام گذاری جدول در لاراول پیروی کنید.
اسم جدول button رو جمع ببندید به buttons و اسم جدول telegramUser رو اینطوری ذکر کنید telegramusers و اسم جدول میانه رو هم بزارین button_telegramuser
برنامه رو تست کنین
اسم جدول میانی رو اشتباه نوشته بودم
روابط بین دو جدول رو هم باید belongsToMany میذاشتم که hasToMany گذاشته بودم
تغییرش دادم درست شد
خیلی ممنونم
@hosseinshirinegad98
@ali.bayat
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟