public function build(array $array, $part)
{
$return = array();
foreach ($array as $key => $row) {
if (is_object($row)) {
if ($row instanceof \stdClass) {
$part = ucfirst($part);
if (!isset($row->{$part})) {
$query = $this->join($row);
if ($this->relationType == 'belongsTo') {
$query = $query->findAll();
$query = reset($query)[0];
}
$row->{$part} = $query;
}
$array[$key] = $row->{$part};
$return[] = $row->{$part};
} else {
$row->with($part);
}
} else {
$return = array_merge($return, $this->build($row, $part));
}
}
return $return;
}