Готино, така че го оправих. Отчасти благодаря на Брандън, че ме насочи в правилната посока.
Поради ограничението на виртуалните полета, трябваше да направя заобикалящото решение.
И така, в моя модел HrEmployee направих това:
public $virtualFields = array(
'fullname' => 'CONCAT(HrEmployee.name, " ", HrEmployee.surname, " (", HrEmployee.jobTitle, ")")'
);
И в моя потребителски модел го промених на това:
class User extends AppModel {
public function __construct($id = false, $table = null, $ds = null) {
parent::__construct($id, $table, $ds);
$this->virtualFields['fullname'] = $this->HrEmployee->virtualFields['fullname'];
}
И накрая, в моя UsersController, току-що го промених малко:
$hrEmployees = $this->User->HrEmployee->find('list',
array(
'fields' => array("id","fullname"),
'order' => array('HrEmployee.name ASC','HrEmployee.surname ASC')
));