本文整理匯總了PHP中Finder::getParentName方法的典型用法代碼示例。如果您正苦於以下問題:PHP Finder::getParentName方法的具體用法?PHP Finder::getParentName怎麽用?PHP Finder::getParentName使用的例子?那麽, 這裏精選的方法代碼示例或許可以為您提供幫助。您也可以進一步了解該方法所在類Finder
的用法示例。
在下文中一共展示了Finder::getParentName方法的1個代碼示例,這些例子默認根據受歡迎程度排序。您可以為喜歡或者感覺有用的代碼點讚,您的評價將有助於係統推薦出更棒的PHP代碼示例。
示例1: parseFinder
protected function parseFinder(Sql $sql, Finder $finder, $alias, &$aliases, &$conditions)
{
$entity = $finder->getName();
$parent = $finder->getParentName();
$next = $finder->getNextName();
$parentAlias = $parent ? $aliases[$parent] : null;
$aliases[$entity] = $alias;
$parsedConditions = $this->parseConditions($conditions, $finder, $alias);
if (!empty($parsedConditions)) {
$conditions[] = $parsedConditions;
}
if (is_null($parentAlias)) {
return $sql->from($entity);
} elseif ($finder->isRequired()) {
$sql->innerJoin($entity);
} else {
$sql->leftJoin($entity);
}
if ($alias !== $entity) {
$sql->as($alias);
}
$aliasedPk = "{$alias}." . $this->findPrimaryKey($entity);
$aliasedParentPk = "{$parentAlias}." . $this->findPrimaryKey($parent);
if ($entity === "{$parent}_{$next}") {
return $sql->on(array("{$alias}.{$parent}_id" => $aliasedParentPk));
} else {
return $sql->on(array("{$parentAlias}.{$entity}_id" => $aliasedPk));
}
}