我将这两张表(见下面的图片)映射如下:
class Brand
{
...
/**
* @var Company
*
* @ORM\ManyToOne(targetEntity="Company")
* @ORM\JoinColumn(name="companies_id", referencedColumnName="id")
*/
protected $company;
}
class Company
{
...
}
我有两个管理类:CompanyAdmin
和BrandAdmin
。我需要添加一个新品牌的支持 - 创建一个新品牌而不是连接现有品牌 - 来自公司管理员,但我不知道如何实现这一目标。这个想法是:
我正在阅读sonata docs但嵌入其他ADMINS 部分尚未准备就绪。能帮我完成这件事吗?我被困了
答案 0 :(得分:2)
我并不完全理解你的要求,但据我所知:
从品牌
创建/选择/删除公司class BrandAdmin extends Admin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper->add('company', 'sonata_type_model_list', array(
'by_reference' => false
));
}
}
文档:Json.NET
以公司形式添加新品牌
class CompanyAdmin extends Admin
{
protected function configureFormFields(FormMapper $formMapper)
{
$formMapper->add('brands', 'sonata_type_collection',
array(
'label' => false,
'by_reference' => false
),
array(
'edit' => 'inline',
'inline' => 'table'
)
);
}
}
显示用于创建新品牌的字段将基于BrandAdmin的configureFormFields。