/** * @param QOM\DescendantNodeJoinConditionInterface $condition * * @return string */ public function walkDescendantNodeJoinCondition(QOM\DescendantNodeJoinConditionInterface $condition) { $rightAlias = $this->getTableAlias($condition->getDescendantSelectorName()); $leftAlias = $this->getTableAlias($condition->getAncestorSelectorName()); return "{$rightAlias}.path LIKE CONCAT({$leftAlias}.path, '/%') "; }
/** * DescendantNodeJoinCondition ::= * 'ISDESCENDANTNODE(' descendantSelectorName ',' * ancestorSelectorName ')' * descendantSelectorName ::= selectorName * ancestorSelectorName ::= selectorName * * @param QOM\DescendantNodeJoinConditionInterface $condition * @return string */ protected function convertDescendantNodeJoinCondition(QOM\DescendantNodeJoinConditionInterface $condition) { return $this->generator->evalDescendantNodeJoinCondition($condition->getDescendantSelectorName(), $condition->getAncestorSelectorName()); }