Symfony2 Доктрина findBy вызывает фатальную ошибку - PullRequest
1 голос
/ 12 декабря 2011

Когда я использую функцию findBy вместо поиска в контейнере службы smyfony, это вызывает ошибку.

$site = $this->em->getRepository('...')->find($id);
$site->getTitle();

Работает нормально. Если я использую findBy

$site = $this->em->getRepository('...')->findByTitle($id);
$site->getTitle();

Я получаю сообщение об ошибке "Неустранимая ошибка: вызов функции-члена getTitle ();".

Что я должен изменить?

1 Ответ

0 голосов
/ 12 декабря 2011

Нет, аннотация неправильная.

Вы должны использовать идентификатор @Id, чтобы функция find работала.

Кроме того, я настоятельно рекомендую вам определять идентификаторы везде, потому что без них соединение не будет работать правильно (если вы не хотите писать каждое условие соединения вручную).

Да, если вам нужна только одна сущность, findOneBy - это путь. Также обратите внимание, что find - это просто ярлык для findOneById, где Id - это столбец, на который вы ссылаетесь с аннотацией @Id.

Ознакомьтесь с документами .

Также я бы предложил вам отредактировать вопрос и теги, если кто-то еще наткнется на это. Это не имеет ничего общего с Symfony, оно строго связано с доктриной.

...