Доступ к нескольким иностранным полям в виртуальном поле?

Две таблицы, с правильной настройкой в ​​CakePHP:

Свойство (…, postcode_id , …) и почтовый индекс ( id , почтовый индекс, широта, долгота).

Виртуальное поле, созданное в Property beforeFind (), вычисляет расстояние между почтовым индексом поиска и почтовым индексом записи. Поэтому, чтобы получить lat / long, мне нужно получить запись из таблицы Postcode внешним ключом в записи Property, все в объявлении виртуального поля.

Как я могу это сделать? Несколько вложенных элементов SELECT? Вложенная find (), которая, вероятно, будет хуже? Я думал, что просто использовать relatedModel.fieldName будет работать – это не так.

EDIT: свойство принадлежит для почтового индекса, почтовый индекс hasMany Property

    (Использование cakephp v2.4.4)

    Виртуальное поле в свойстве beforeFind ():

    $this->virtualFields['distance'] = 6371 . ' * ACOS( (SIN(RADIANS(Postcode.latitude)) * ' . $searchPostcode['latitudeSin'] . ') + (COS(RADIANS(Postcode.latitude)) * ' . $searchPostcode['latitudeCos'] . ') * COS(RADIANS(Postcode.longitude) - ' . $searchPostcode['longitude'] . ') )'; 

    Related of "Доступ к нескольким иностранным полям в виртуальном поле?"