Products, Product_Options, Product_Option_Values, and Product_Variants. The pivot table essentially just joins the 3 latter tables with unique constraints. I've made a custom pivot model for this and the relationship for the variant is selectedOptions which you'll see below.Size: SM, MD, LG and Color: Red, Blue