You can find your answer here.
To be specific about your use case:
$queryBuilder = $em->getRepository('YourEntityClassName')
->createQueryBuilder('c');
$result = $queryBuilder->select('c')
->where($queryBuilder->expr()->orX(
$queryBuilder->expr()->eq('c.x', ':value'),
$queryBuilder->expr()->eq('c.y', ':value'),
$queryBuilder->expr()->eq('c.z', ':value')
))
->setParameter('value', 10)
->getQuery()
->getResult();
Or simple:
$queryBuilder = $em->getRepository('YourEntityClassName')
->createQueryBuilder('c');
$result = $queryBuilder->select('c')
->where('c.x = :value or c.y = :value or c.z = :value')
->setParameter(':value', 10)
->getQuery()
->getResult()
$queryBuilder->expr()
is here only to prevent typos and make your code more futureproof, since it's wrapped in methods.
It's possible with findBy()
via Criteria, yet difficult and not well documented, as pointed out by @Cedar.