Its 2.0.9.

There is an "accommodation". The "accommodation" has many "accommodatiobase". And "accommodationbase" has one "city"

So accommodation:

<?php
$this->hasMany('id', 'AccommodationBase', 'accommodation_id', array('alias' => 'AccommodationBase'));

Accommodationbase:

<?php
$this->belongsTo('city_id', 'City', 'id', array('alias' => 'City'));

and here is my builder:

<?php
$queryBuilder = (new \Phalcon\Mvc\Model\Query\Builder())->from('Accommodation')->where('Accommodation.id = 1');
$queryBuilder->leftJoin('AccommodationBase');
$queryBuilder->leftJoin('City');

the result [$queryBuilder->getQuery()->execute()] returns with tons of "accomodation", repetitve records. It should return one (check the where condition)

so in other words, joins:

A -> b

A -> c

workds but

A -> B -> C

results in many A (as much as C)