'Laravel relationship storing to pivot null

I have 3 tables called games, products, game_product. And game_product is my pivot table

This is the structure.

id game_id product_id
1 1 1
1 1 2

30 Minutes ago I can attach the game_id and product_id correctly, then i changed nothing. And after I tried to create a new data, its give me this error message

Call to a member function games() on null

This is my model relationship

App\Models\Game.php :

public function products()
    {
        return $this->belongsToMany('App\Models\Product', 'game_product', 'product_id', 'game_id');
    }  

App\Models\Product.php :

public function games()
    {
        return $this->belongsToMany('App\Models\Game', 'game_product', 'game_id', 'product_id'  );

And this is my create controller

public function productsNew(Request $request, $id)
    {   
        $products = Product::find($id);
        
        $new = Product::create([
            'product_sku' => $request->product_sku,
            'name' => $request->name,
            'seller_price' => $request->seller_price,
            'price' => $request->price,
            'profit' => $request->price - $request->seller_price,
        ]);

        $products->games()->attach($id);
        $new->save();

        
        notify("Product added successfully!", "", "success");
        return redirect('admin/products/'.$id);
    }
    }

I try to post the id of game and product to pivot table game_id and product_id. What should I do to store the ID only without any other of value?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source