@Tyris If you’re wanting to create a cart for the user’s current session, then you could have a class that retrieves it or creates it if necessary:
class Cart extends Model
{
public static function forRequest($request)
{
return static::firstOrCreate([
'session_id' => $request->session()->getId(),
]);
}
}
Then in your controllers, you can retrieve the cart by passing a Request instance:
class CartController extends Controller
{
public function index(Request $request)
{
$cart = Cart::forRequest($request);
return view('cart.index', compact('cart'));
}
}