Contenibile non è lo stesso di ISCRIVITI .
Containable non unisce le query in un'unica query, ma per la maggior parte crea query completamente separate , quindi combina i risultati per il tuo piacere di visualizzazione.
Quindi, per il tuo errore, nella query che viene eseguita sugli orders
tabella, non esiste Product.product_price
campo perché quei campi sono disponibili solo in una query completamente separata.
Prova a utilizzare JOIN invece.