HABTM je přeprodaný. V mnoha případech nevyhovuje potřebám, například když máte k dispozici další data. Bude lepší, když mezi modely vytvoříte vztah hasMany/belongsTo.
Převzato z CakePHP Book:
Ve vašem případě bych navrhl vytvořit LineItem model a spojování všeho tímto způsobem:
OrderhasManyLineItemLineItempatříToOrder,Product