如何从mappipng表中获取映射表ID?
我有用户和组表映射在一起我想在登录时获取组ID,但我没有得到它。
我有三张桌子用户、组user_groupname
->第一张桌子
用户
编号,姓名
->第二桌
群
编号,姓名
->第三桌
组名
user_id,group_id
第一个实体如下
/Entity/groupname.php
class groupname
{
/**
* @var integer
*
* @ORM'Column(name="id", type="integer", nullable=false)
* @ORM'Id
* @ORM'GeneratedValue(strategy="IDENTITY")
*/
private $id;
/**
* @var string
*
* @ORM'Column(name="name", type="string", length=255, nullable=false)
*/
private $name;
/**
* @var 'Doctrine'Common'Collections'Collection
*
* @ORM'ManyToMany(targetEntity="role", inversedBy="groupname")
* @ORM'JoinTable(name="groupname_role",
* joinColumns={
* @ORM'JoinColumn(name="groupname_id", referencedColumnName="id")
* },
* inverseJoinColumns={
* @ORM'JoinColumn(name="role_id", referencedColumnName="id")
* }
* )
*/
private $role;
/**
* @ORM'ManyToMany(targetEntity="'Dashboard'SecurityBundle'Entity'User", mappedBy="groupname")
*/
private $users;
}
第二个实体如下
/Entity/User.php
<?php
namespace Dashboard'SecurityBundle'Entity;
use Doctrine'ORM'Mapping as ORM;
use Symfony'Component'Security'Core'User'UserInterface;
use Symfony'Component'Security'Core'User'AdvancedUserInterface;
use Doctrine'Common'Collections'ArrayCollection;
/**
* Dashboard'SecurityBundle'Entity'User
*
* @ORM'Table(name="users")
* @ORM'Entity(repositoryClass="Dashboard'SecurityBundle'Repository'UserRepository")
* @ORM'HasLifecycleCallbacks()
*/
class User implements UserInterface, 'Serializable, AdvancedUserInterface
{
/**
* @ORM'Column(type="integer")
* @ORM'Id
* @ORM'GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @ORM'Column(type="string", length=25, unique=true)
*/
protected $username;
*/
/**
* @ORM'ManyToMany(targetEntity="'Dashboard'AdminManageUserBundle'Entity'groupname", inversedBy="users")
*
*/
public $groupname;
/**
* @var Dashboard'SecurityBundle'Entity'UserPhoto UserPhoto
*
*/
private $userPhoto;
public function __construct()
{
$this->groupname = new ArrayCollection();
}
/**
* Add groupname
*
* @param 'Dashboard'AdminManageUserBundle'Entity'groupname $groupname
* @return User
*/
public function addGroupname('Dashboard'AdminManageUserBundle'Entity'groupname $groupname)
{
$this->groupname[] = $groupname;
return $this;
}
/**
* Remove groupname
*
* @param 'Dashboard'AdminManageUserBundle'Entity'groupname $groupname
*/
public function removeGroupname('Dashboard'AdminManageUserBundle'Entity'groupname $groupname)
{
$this->groupname->removeElement($groupname);
}
/**
* Get groupname
*
* @return 'Doctrine'Common'Collections'ArrayCollection
*/
public function getGroupname()
{
return $this->groupname;
}
}
我在控制器文件中有以下代码
$userEntity = $this->getDoctrine()->getRepository('DashboardSecurityBundle:User')->findOneBy(array('username' =>$usernames));
我print_R($userEntity)
电脑被吊死了
$userEntiry 是 UserEntity 的对象
所以,你的电脑被挂起了。
请尝试此。
print_r($userEntity->getUsername());