/**
* Note: The result of this method cannot be cached, as the target table alias might change for different query scenarios
*
* @param ClassMetadata $targetEntity
* @param string $targetTableAlias
* @return string
*/
public function getSqlConstraint(ClassMetadata $targetEntity, $targetTableAlias)
{
$this->evaluateMatcher();
/** @var EntityManager $entityManager */
$entityManager = $this->objectManager->get(ObjectManager::class);
$sqlFilter = new SqlFilter($entityManager);
if (!$this->matchesEntityType($targetEntity->getName())) {
return null;
}
return $this->conditionGenerator->getSql($sqlFilter, $targetEntity, $targetTableAlias);
}