[英]sonata admin use two entities in an admin
我是Sonata管理員的新手,是否可以在一個管理員類中使用兩個實體?
我的用戶實體,
App \\ MyBundle \\ Entity \\ Users.php
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var string
*
* @ORM\Column(name="username", type="string", length=45, nullable=true)
*/
private $username;
/**
* @var string
*
* @ORM\Column(name="email", type="string", length=100, nullable=true)
*/
private $email;
我的UserProject實體,
App \\ MyBundle \\ Entity \\ UserProjects.php
/**
* @ORM\Id
* @ORM\Column(type="integer")
* @ORM\GeneratedValue(strategy="AUTO")
*/
protected $id;
/**
* @var \User
*
* @ORM\ManyToOne(targetEntity="Users")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="userId", referencedColumnName="id")
* })
*/
private $userid;
/**
* @var array
*
* @ORM\Column(name="projectId", type="array")
*/
private $projects;
我的管理員班,
class UserAdmin extends SonataUserAdmin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper
->with('General') // these fields from Users Entity
->add('username')
->add('email')
->with('Projects') // these fields from UserPrjects Entity
/* here i need to add a field for projects related to current user */
}
}
有什么方法可以使這兩個實體連接在一起?
我建議您在用戶端添加一對多:
/**
* @ORM\OneToMany(targetEntity="UserProjects", mappedBy="userid")
*/
protected $userProjects;
您可以使用UserProjects實體。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.