Поиск по объекту в Doctrine : findBy (объект)

#php #symfony #doctrine-orm #query-builder

#php #symfony #doctrine-orm #конструктор запросов

Вопрос:

Возможно ли передать объект в функцию, такую как функция findBy, для извлечения данных?

Примечание: ** У объекта $resto нет заполненного атрибута **id. Таким образом, doctrine должна найти ближайшую соответствующую запись.

Например:

        $resto = new Restaurant();
       $resto->setName('...')
       ...


       $repository = $this->getDoctrine()->getRepository('LesDataBundle:Restaurants');
       $result =  $repository->findBy($resto);
 

Комментарии:

1. Пожалуйста, определите «ближайшую соответствующую запись». Кроме того, вы не можете извлечь свой $resto файл из базы данных, если вы $this->getDoctrine()->getManager()->persist($resto) $this->getDoctrine()->getManager()->flush() не используете его в первую очередь.

Ответ №1:

Нет, но вы можете использовать пользовательское выражение

 $repository->findBy([
    'some_field' => $resto->getSomeField(),
    'other_field' => $resto->getOtherField()
]);