Недавно часть кода перестала работать. Я не внес никаких изменений в это, поэтому я не знаю почему.
Здесь код:
$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 не возвращает никаких результатов?
попробуйте изменить 'AppBundle:Invite\LocalInvite'
по LocalInvite::class