У меня странная проблема с ассоциативным объектом, являющимся прокси-классом, и его методы всегда возвращают ноль. Я надеюсь, что кто-то может пролить немного света на эту тему, потому что это сводит меня с ума.
Я звоню по этому коду:
$arrRoleResources = $em->getRepository("AJFIT\Entity\UserRoleResources")->findAll();
foreach($arrRoleResources as $roleResource) {
$name = $roleResource->getRoleFk()->getName();
}
$ name всегда будет нулевым, даже если при отладке кода он инициализирует прокси-класс и $ _identifier с правильным первичным ключом.
UserRoleResources Entity:
namespace AJFIT\Entity;
/**
* UserRoleResources
* * @Table(name="user_role_resources")
* * @Entity(repositoryClass="AJFIT\Repository\UserRoleResources")
*/
class UserRoleResources {
/**
* @var UserRoles
*
* @ManyToOne(targetEntity="UserRoles")
* @JoinColumn(name="role_fk", referencedColumnName="pk")
*
*/
private $roleFk;
/**
* Get roleFk
*
* @return UserRoles $roleFk
*/
public function getRoleFk() {
return $this->roleFk;
}
}
UserRole Entity:
namespace AJFIT\Entity;
/**
* UserRoles
* * @Table(name="user_roles")
* * @Entity(repositoryClass="AJFIT\Repository\UserRoles")
*/
class UserRoles {
/**
* @var string $name
*
* @Column(name="name", type="string", length=255)
*/
private $name;
/**
* @var integer $pk
*
* @Column(name="pk", type="integer")
* @Id
* @GeneratedValue(strategy="IDENTITY")
*/
private $pk;
/**
* Get name
*
* @return string $name
*/
public function getName() {
return $this->name;
}
}
Я последовал примеру скомпилированного zf -ilerplate и могу опубликовать свой конфигурационный файл, если потребуется.