Насколько я понимаю, ваши отношения таковы:
Customer -> Sale -> Car -> Engine
Линейный, что означает, что автомобиль НЕ связан с покупателем, кроме как через продажу. Если это правильно, вам нужно только установить отношения в каждой из моделей, чтобы они правильно идентифицировались:
Customer hasMany Sale
Sale belongsTo Customer
Sale hasMany Car
Car belongsTo Sale
Car hasMany Engine
Engine belongsTo Car
Затем, когда вы запрашиваете базу данных, вы можете сделать что-то вроде:
$this->Customer->find('first', array(
'conditions' => array('id' => $ID),
'recursive' => 1 // or 2 depending on your need
)
);
Это позволит вам довольно легко углубляться в данные.
Подробнее об этом здесь: http://book.cakephp.org/view/73/Retrieving-Your-Data