/**
* @param $fromTable
* @param RelationWithAlias[] $relationWithAliases
* @param $type
* @param $on
* @return ModelJoin[]
*/
public static function createModelJoins($fromTable, $relationWithAliases, $type, $on)
{
$result = array();
$field = '';
$table = $fromTable;
$fetch = true;
foreach ($relationWithAliases as $relationWithAlias) {
$relation = $relationWithAlias->relation;
$field = $field ? $field . '->' . $relation->getName() : $relation->getName();
$fetch = $fetch && !$relation->isCollection();
$modelJoin = new ModelJoin($field, $table, $relation, $relationWithAlias->alias, $type, $on, $fetch);
$table = $modelJoin->alias();
$result[] = $modelJoin;
}
return $result;
}