description

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

- 3 ماه پیش
توسط حسام موسوی آپدیت شد
رضا محسناتی ( 1663 تجربه )
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 ماه پیش

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

رضا محسناتی ( 1663 تجربه )
3 ماه پیش

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

Category::create([
            'user_id' => auth()->user()->id,
حسام موسوی ( 43050 تجربه )
3 ماه پیش

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

برای ارسال پاسخ باید وارد سایت شوید