Doctrine findBy логическое поле не возвращает результатов

0

Недавно часть кода перестала работать. Я не внес никаких изменений в это, поэтому я не знаю почему.

Здесь код:

$invites = $this->vault_em->getRepository('AppBundle:Invite\LocalInvite')->findBy([
    'active' => true,
]);

Теперь он возвращает пустой массив, хотя есть записи LocalInvite с active = 1.

Вот сопоставления доктрины:

/**
 * @ORM\Entity
 * @ORM\Table(name="invite")
 */
class LocalInvite extends Invite {

    //...

}

/** @ORM\MappedSuperclass */
abstract class Invite implements \JsonSerializable {

    /** @ORM\Column(type="boolean", options={"default": true}) */
    protected $active;

    //...

}

Для отладки я скопировал базовый запрос MySQL, который Doctrine выполняет из журналов отладки:

SELECT t0.id AS id_1, t0.email AS email_2, t0.active AS active_3, t0.location AS location_4, t0.cohort_leadership AS cohort_leadership_5, t0.timezone AS timezone_6, t0.date_record_created AS date_record_created_7, t0.date_record_deleted AS date_record_deleted_8, t0.date_restart AS date_restart_9, t0.date_start_invite AS date_start_invite_10, t0.employee_id AS employee_id_11, t0.first_name AS first_name_12, t0.corporate_client_name AS corporate_client_name_13, t0.client_id AS client_id_14, t0.landing_page_url AS landing_page_url_15, t0.user_id AS user_id_16, t0.recipient_id AS recipient_id_17 FROM invite t0 WHERE t0.active = true;

Когда я подключаю этот запрос к IDE MySQL, он возвращает результаты.

Почему findBy не возвращает никаких результатов?

  • 1
    Иногда внутренняя тайна доктрины сходит с ума. Попробуйте: php bin / console cache: clear && php bin / console доктрина: cache: clear-метаданные. Скажите, сработало ли это, чтобы добавить это как ответ.
  • 0
    @ sh4 Это не сработало, и странно, что это происходит в нескольких средах (заметил это в производстве, воспроизводится локально).
Показать ещё 2 комментария
Теги:
doctrine
doctrine2
symfony-3.2

1 ответ

0

попробуйте изменить 'AppBundle:Invite\LocalInvite' по LocalInvite::class

  • 0
    Хотя это может помочь решению, это не ответ, а вопрос, который нужно задать ОП в разделе комментариев.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню