Knp\Bundle\KnpBundlesBundle\Repository\OwnerRepository::findOneByUniqueFields PHP Method

findOneByUniqueFields() public method

Lookup for Owner by check of unique fields
public findOneByUniqueFields ( array $fields ) : null | Owner
$fields array
return null | Knp\Bundle\KnpBundlesBundle\Entity\Owner
    public function findOneByUniqueFields(array $fields)
    {
        $query = $this->createQueryBuilder('d')->where('d.name = :name')->setParameter('name', $fields['name']);
        if (isset($fields['discriminator'])) {
            if ('developer' == $fields['discriminator']) {
                $query->andWhere('d INSTANCE OF Knp\\Bundle\\KnpBundlesBundle\\Entity\\Developer');
            } elseif ('organization' == $fields['discriminator']) {
                $query->andWhere('d INSTANCE OF Knp\\Bundle\\KnpBundlesBundle\\Entity\\Organization');
            }
        }
        if (isset($fields['githubId'])) {
            $query->orWhere('d.githubId = :github_id')->setParameter('github_id', $fields['githubId']);
        }
        return $query->getQuery()->getOneOrNullResult();
    }