راکت

attach دیتا در لاراول

7 پاسخ

سلام دوستان گلم
@websaz @hesammousavi @mohaligateway
وقتی همزمان چند تا دیتا رو با هم attach میکنم فقط مورد اول رکورد میشه باقیش خالی میمونه
دونه دونه تست کردم مشکلی ندارن pivot هم ساختم واسشون رابطه هاشونم اکیه فقط احساس میکنم درست attach نمیکنم

    $course = new Course();
        $course =  $course->create($request->all());
        $course = $course->users()->attach($request->teachers);
        $course =$course->categories()->attach($request->categories);
        $course = $course->classdays()->attach($request->classdays);
ثبت پرسش جدید

پاسخ‌ها

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

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

بنظر شما داشتن متغییر تکراری دلیل نمیشه؟! اصلا چرا تکرار متغییر؟! در اصل اطلاعات بعد از اتچ شما توی این متغییر ریخته میشه برای ریلیشن و اتچ درخواست بعدی؟!

یک توضیح بدین

Morteza Khodarahmi
Morteza Khodarahmi
@mrkhodarahmii

تخصص: Backend Developer

@juza66
نه برای درخواست بعدی ذخیره نمیشه
فقط باید هر کدوم جدا داخل table خودشون ذخیره بشن
این تعریف یه دوره هست که این شکلیه
هر کدوم از اینا باید جدا جدا ذخیره بشن

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

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

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

خب اسم متغییرها رو عوض کن! یا برشون دار! و تست کن. (نیازی نیست بعد از اتچ کاری کنی)

 $course = new Course();
        $course =  $course->create($request->all());
        $course->users()->attach($request->teachers);
        $course->categories()->attach($request->categories);
        $course->classdays()->attach($request->classdays);
Morteza Khodarahmi
Morteza Khodarahmi
@mrkhodarahmii

تخصص: Backend Developer

@juza66
عوض کردم نشد
فقط اولی رکورد میشه،جای هرکدومم که عوض میکنم رکورد میشه

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

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

ریلیشن ها یا متدهای مدل Course ببینم

Morteza Khodarahmi
Morteza Khodarahmi
@mrkhodarahmii

تخصص: Backend Developer

@juza66
برای user هم به همین صورته

   public function users()
    {
        return $this->belongsToMany(User::class);
    }

این مدلی از course->id ایراد میگیره

 $course = new Course();
        $course =  $course->create($request->all());
        $course->users()->attach($request->teachers);
        $course->categories()->attach($request->categories);
        $course->classdays()->attach($request->classdays);
سیدعلی موسوی
سیدعلی موسوی
@juza66

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

قدم به قدم dd بگیر و اطلاعات رو بذار .

میدونی چرا به آیدی دوره گیر داد؟! یک dd بگیر از این خط

$course =  $course->create($request->all());
dd($course)

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

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