راکت
حل شده

استفاده تابعی از روابط در لاراول

3 پاسخ

سلام
من یک مدل دارم از user ها و یک مدل دارم از code ها
هر کاربر می تواند هزاران کد ایجاد کند
پس اولا در مدل user تغییرات زیر را می هم:

    public function Codes(){
        return $this->belongsToMany(Code::class);
    }

و در مدل code تغییرات زیر را میدهم:

protected $fillable = [ 'user_id','title', 'slug', 

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

و اما موقع درج در دیتابیس توسط کاربر به کمک دستور زیر ارور زیر را به من می دهد:


auth()->user()->Codes()->create($request->all());  

return back();

 Illuminate  Database  QueryException (HY000)
SQLSTATE[HY000]: General error: 1364 Field 'user_id' doesn't have a default value (SQL: insert into codes (title,
ثبت پرسش جدید

پاسخ‌ها

3
حسام موسوی
حسام موسوی
@hesammousavi

تخصص: طراح و برنامه نویس

بهترین پاسخ

شما رابطه اتون ۱ به ۱۰۰۰ هست پست بجای belongsToMany باید بگید hasMany
چون belongsToMany مروبط به رابطه های n به n میشه .

سید رضا موسوی
سید رضا موسوی
@rmtonliner

تخصص: برنامه

البته موقتا با دستور زیر عملیات درج انجام می شود اما میخواهم بدانم که چرا آن ارور می دهد!

Category::create([
            'user_id' => auth()->user()->id,
محمدرضا محمدزاده
محمدرضا محمدزاده
@sardarmz

تخصص: برنامه نویس فلاتر

@hesammousavi
سلام اقای موسوی ببخشید belongsTo واسه چجور رابطه ای هست؟

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

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

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