symfony - How to get not find multiple values in doctrine -


if search entities array in doctrine like:

$names = ['jim', 'anne', 'kara']; $em->findbyname($names); 

how can know then, names not found? of course, can loop returned array , check each name again. maybe there doctrine method returns not found names?

as far know, can't achieve using entityrepository apis, use array_diff , array_map together, single line solution, follow:

$names = ['jim', 'anne', 'kara']; $res = $em->getrepository('yourbundle:yourentity')->findbyname($names); $notfound = array_diff($names, array_map(function($obj){ return $obj->getname(); }, $res)); 

consider array_diff use === operator compare values, names must equal duplicates. if don't want take care lower/upper cases, convert strtolower.

$notfound = array_diff(array_map('strtolower', $names), array_map(function($obj){ return strtolower($obj->getname()); }, $res)); 

of course assumed have declared name getter in entity.


Comments

Popular posts from this blog

Command prompt result in label. Python 2.7 -

javascript - How do I use URL parameters to change link href on page? -

amazon web services - AWS Route53 Trying To Get Site To Resolve To www -