如何在奏鸣曲管理显示视图中嵌入 child 个实体?
How to embed child entities in sonata admin show views?
我将 symfony2 与奏鸣曲管理包一起使用。现在我有一个实体与另一个实体具有 OneToOne 关联。我希望将 child 实体的显示形式嵌入到 parent 实体的显示形式中。
我已经尝试了表单类型 "sonata_type_admin",但它只给了我一个 link 到子实体。
有人知道如何嵌入子实体的显示形式吗?
实体定义:
Parent:
class Parent
{
/**
* @ORM\OneToOne(targetEntity="Child", mappedBy="parent")
*/
private $child;
}
Child:
class Child
{
/**
* @ORM\OneToOne(targetEntity="Parent", mappedBy="child")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id")
* })
*/
private $parent;
}
由于您的父实体中有一个 属性 引用您的子实体,您可以在 configureShowFields
方法中调用子字段以显示子实体中的字段
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->with('Child Fields', array('collapsed' => true))
->add('child.propertyName',null,array('label'=>'Label'))
->add('child.anotherPropertyName',null,array('label'=>'Label'))
... ;
}
我将 symfony2 与奏鸣曲管理包一起使用。现在我有一个实体与另一个实体具有 OneToOne 关联。我希望将 child 实体的显示形式嵌入到 parent 实体的显示形式中。
我已经尝试了表单类型 "sonata_type_admin",但它只给了我一个 link 到子实体。
有人知道如何嵌入子实体的显示形式吗?
实体定义:
Parent:
class Parent
{
/**
* @ORM\OneToOne(targetEntity="Child", mappedBy="parent")
*/
private $child;
}
Child:
class Child
{
/**
* @ORM\OneToOne(targetEntity="Parent", mappedBy="child")
* @ORM\JoinColumns({
* @ORM\JoinColumn(name="parent_id", referencedColumnName="id")
* })
*/
private $parent;
}
由于您的父实体中有一个 属性 引用您的子实体,您可以在 configureShowFields
方法中调用子字段以显示子实体中的字段
protected function configureShowFields(ShowMapper $showMapper)
{
$showMapper
->with('Child Fields', array('collapsed' => true))
->add('child.propertyName',null,array('label'=>'Label'))
->add('child.anotherPropertyName',null,array('label'=>'Label'))
... ;
}