Однажды я где-то читал, что у symfony2 / Doctrine2 есть метод (я сейчас не помню имя метода), который выбирает все «похожие» объекты, которые мы указываем.
Например, у меня есть User entity
который имеет userName
, password
, name
, state
а также city
как свойства .. Для получения всех пользователей, которые имеют name = "vinay"
а также state = "karnataka"
, шаги идут так:
$user = new User();
$user->setName("vinay");
$user->setState("karnataka");
$query = $em->dontKnowTheMethod($user);
$usersList = $query->getResult();
$usersList
должен содержать всех пользователей, чьи name = "vinay"
а также state = "karnataka"
Я искал несколько часов, но у меня не было этого метода … Я уверен, что давно читал об этом методе, но сейчас не могу вспомнить …
Заранее спасибо..
Вы должны начать изучать учение и симфонию.
$user = new User();
$user->setName("vinay");
$user->setState("karnataka");
$em = $this->getDoctrine()->getManager();
$em->persist($user);
$em->flush();
$repo = $this->getDoctrine()->getRepository('YourWhateverBundle:User');
$userResult = $repo->findAll(['name' => 'vinay', 'state' => 'karnataka'])
if (!$userResult instanceof User) {
echo 'No result found';
} else {
// Do whatever you want with $userResult
}
Других решений пока нет …