我在symfony中很新。 现在我有新项目,我需要建议,选择什么技术。 我发现,symfony4几乎所有的演示都安装了easy_admin,看起来是不错的选择。 但是现在几天来,我一直在努力解决一些问题,并且缺乏文档,信息。 所以我想知道 - 我的想法是否能够以简单的方式在简单的管理中实现(而不是编写几乎每个自定义),我只是找不到合适的文档,或者我需要选择另一种解决方案(任何建议?
所以我有一个表的数据库,其中包含 10 多个相关表。 当我创建新的基本实体时,我想在一个窗口中添加所有相关实体。 并且确切地添加,而不是从已经准备好的表格中选择,因为我需要在一种表格中完成工作,而不是在 10 多个表格之间移动以制作一条记录(客户不关心关系)。 Maye 我可以创建基本记录并在编辑时添加所有相关实体。 相关实体几乎可以是所有类型 - 一对一一对多多多对多。
所以我真的需要建议,如何完成这项工作,因为我在关系中尝试了多种方式,我只能从已经插入的记录中进行选择,但不能添加新记录。 所有相关实体都有多个输入字段 - 它需要生成完整的表单。
创建示例项目,可在 github Web Forest 上等待 目标是制定清晰的手册,如何做官方 EasyAdmin 手册或演示中没有完全解释的事情。
项目目标 nr.1:从一个林插入和/或编辑表单实现所有相关实体插入。所有类型 - 一对一,一对一,多对多。 为新手解释,我们到底做错了什么以及如何更清楚地做事。
请随意 - 评论,提交更改,添加更多功能。
您需要创建自定义表单类并通过entry_type
选项在yaml配置文件中引用它。例如,假设用户实体具有相关的实体 UserSettings(具有字段code
和value
),并且您希望直接在 用户编辑 窗体中编辑这些设置:
表单类:
class UserSettingsType extends AbstractType
{
public function configureOptions(OptionsResolver $resolver)
{
$resolver->setDefaults([
'data_class' => UserSettings::class
]);
}
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('code')
->add('value');
}
}
亚姆配置:
easy_admin:
entities:
User:
class: AppEntityUser
edit:
fields:
- ...
- { property: 'settings', type: 'collection', type_options: { entry_type: 'AppFormEasyAdminUserSettingsType' , ... }}
我在这个问题中偶然发现了这个解决方案