/*
* Recognize methods for Has-Many cases:
* findParent<Class>()
* findParent<Class>By<Rule>()
* Use the non-greedy pattern repeat modifier e.g. \w+?
*/
if (preg_match('/^join([a-zA-Z]*?)Using$/',
$method,
$matches)) { $type =
strtolower($matches[1
]);
if ($type) { $type .= ' join';
if (!
in_array($type, self::
$_joinTypes)) { throw new Zend_Db_Select_Exception("Unrecognized method '
$method()'"
);
} if (in_array($type,
[self::CROSS_JOIN, self::NATURAL_JOIN
])) { throw new Zend_Db_Select_Exception("Cannot perform a joinUsing with method '
$method()'"
);
} } else { $type = self::INNER_JOIN;
} array_unshift($args,
$type);
return call_user_func_array([$this, '_joinUsing'
],
$args);
}