本文整理汇总了PHP中Finder::getName方法的典型用法代码示例。如果您正苦于以下问题:PHP Finder::getName方法的具体用法?PHP Finder::getName怎么用?PHP Finder::getName使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Finder
的用法示例。
在下文中一共展示了Finder::getName方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: addFinder
public function addFinder(Finder $finder)
{
if (!empty($this->finders[$finder->getName()])) {
throw new ServiceBuilderException("Duplicate finder name '{$finder->getName()}' for entity '{$this->name}'");
}
foreach ($finder->getColumns() as $finderColumn) {
if (empty($this->properties[$finderColumn->getName()])) {
//throw new ServiceBuilderException("Finder column '{$finderColumn->getName()}' is not a property for entity '$this->name'");
}
}
$this->finders[$finder->getName()] = $finder;
}
示例2: 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));
}
}