HABTM е свръхпродаден. Много от случаите не успява да отговори на нуждите, като например когато имате допълнителни данни за съхранение. Ще бъде по-добре да направите връзка hasMany/belongsTo между моделите.
Взето от книгата на CakePHP:
Във вашия случай бих предложил да направите LineItem
модел и присъединяване към всичко по този начин:
Order
hasManyLineItem
LineItem
pripadaOrder
,Product