В моей базе данных две таблицы: user
и media_contact
. Таблица media_contact
имеет user_id
, поэтому, очевидно, я собираюсь выбирать контакты для медиа на основе пользователя.
У меня проблема в том, что это не получается:
// VNN/PressboxBundle/Entity/User.php
// $this in this case is a User object with id 26
$customContacts = $em->getRepository('VNNPressboxBundle:MediaContact')->findByUser($this);
Это мне ничего не дает. $customContacts
пусто. Но:
mysql> select * from media_contact where user_id=26;
+-----+-------------+-----------------------+---------------+---------+
| id | name | email | media_area_id | user_id |
+-----+-------------+-----------------------+---------------+---------+
| 177 | Jason Swett | jason.swett@gmail.com | NULL | 26 |
| 183 | Sam | sam@sam.com | NULL | 26 |
+-----+-------------+-----------------------+---------------+---------+
2 rows in set (0.00 sec)
Это действительно должно возвращать два объекта. Я действительно не понимаю, почему это происходит.
Вот мои аннотации:
// User.php
/**
* @ORM\OneToMany(targetEntity="MediaContact", mappedBy="user")
*/
private $mediaContacts;
-
// MediaContact.php
/**
* @ORM\ManyToOne(targetEntity="User", inversedBy="mediaContacts")
* @ORM\JoinColumn(name="user_id", referencedColumnName="id")
*/
private $user;
Что может быть не так?