восстановить Многогранную ассоциацию в Учении2 - PullRequest
0 голосов
/ 03 августа 2011

У меня есть две сущности, одна из которых - «Роль», а другая - «Пользователь», я хочу создавать формы и отчеты, чтобы добавлять и показывать каждую роль со своими пользователями, а также создавать пользователя с одной ролью, поэтому его пользователь: роль (один-к-одному). Многие), мне удалось добавить роль пользователю через Doctrine 2, но я не могу показать пользователям, что каждая роль ниже - это мой код

<?php

/**
* Description of Role
* @Entity
* @Table=(name"Roles")
* @author alaaqashou
*/
class Role {
//put your code here

/**
 *
 * @var integer $id
 * @Column(name="id", type="integer",nullable=false)
 * @Id
 * @GeneratedValue(strategy="IDENTITY")
 */
private $id;

/**
 * @Column(length=100,nullable=false,unique=true)
 * @var type 
 */

private $name;

/**
 * @OneToMany(targetEntity="User" ,mappedBy="Role")
 * @var type 
 */

private $users;

public function __construct() {
   $this->users=new \Doctrine\Common\Collections\ArrayCollection();
}

public function getUsers() {
    return $this->users;
}

public function setUsers($user) {
    $this->users->add($user);
}

}

/**
* Description of User
*@Entity
* @Tabel(name="Users")
* @author alaaqashou
*/
class User {
//put your code here

/**
 *
 * @var integer $id
 * @Column(name="id", type="integer",nullable=false)
 * @Id
 * @GeneratedValue(strategy="IDENTITY")
 */
private $id;

/**
 *
 * @Column(length=255,nullable=false,unique=true)
 * 
 * 
 * @var type 
 * 
 */

private $role;

function __construct() {
    $this->created=new \DateTime(date("Y-m-d H:i:s"));
}

public function getRole() {
    return $this->role;
}

public function setRole($role) {
    $this->role = $role;
}

}

Я получил уведомление: неопределенный индекс: ошибка роли при попытке сделать следующее

мой сервис

     public function listAllRole()
      {
     return $this->em->getRepository('sihha\Entity\Role')->findAll();

     }
$roles=$this->roleService->listAllRole();

$users=$roles[0]->getUsers();
// I even tried  $users=$roles[0]->getUsers()->toArray();

$user=$users[0];

Пожалуйста, помогите !!!

1 Ответ

1 голос
/ 03 августа 2011

Я думаю, что ваша проблема заключается в аннотациях.Попробуйте заменить mappedBy='Role' width mappedBy='role' (то есть наберите "role" в нижнем регистре).

Я только что попробовал mappedBy="Table" в одной из моих сущностей, и это дало мне тот же результат, что вы, похоже, получаете.1006 *

...