У меня проблема с доктриной.У меня есть две сущности, и я хочу, чтобы работала корреляция один ко многим.
Пользователь
/**
* @Entity
*/
class User
{
/** @Id @Column(type="integer") @GeneratedValue */
protected $id;
/** @Column(type="string") */
protected $name;
/**
* @OneToMany(targetEntity="role", mappedBy="userId", cascade={"ALL"})
*/
private $roles;
}
Роли
/**
* @Entity
*/
class Role
{
/** @Id @Column(type="integer")
*
* @ManyToOne(targetEntity="user", inversedBy="roles")
*
*/
protected $userId;
/** @Column(type="string") */
protected $name;
}
Но когда я пытаюсь получить доступ к ролям пользователя:
var_dump($user->getRoles()->first()->getName());
Примечание: неопределенный индекс: userId в / home / ubuntu / workspace / atlas/vendor/doctrine/orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php в строке 1794 Предупреждение: указан неверный аргумент для foreach () в
/ home / ubuntu / workspace / atlas / vendor / doctrine / orm/lib/Doctrine/ORM/Persisters/Entity/BasicEntityPersister.php в строке 1798 строка (10) «ROLE_ADMIN» Предупреждение: неверный аргумент для foreach () предоставлен в /home/ubuntu/workspace/atlas/Controller/LoginController.php в строке15 "
Это означает, что я получил правильное значение, но несколько предупреждений, и я не уверен, что смогу их игнорировать.