Containable não é o mesmo que JOIN .
Containable não une as consultas em uma única consulta, mas na maioria das vezes cria consultas completamente separadas , em seguida, combina os resultados para o seu prazer de visualização.
Então - por seu erro, na consulta que está sendo executada nos
orders
tabela, não EXISTE Product.product_price
campo porque esses campos estão disponíveis apenas em uma consulta completamente separada. Tente usar JOINs em vez de.