And*_*ter 5 symfony doctrine-orm symfony2-easyadmin
我已经能够使用 Symfony EasyAdminBundle 为项目构建一个简单的 CRUD 应用程序,并且它对于基于正常实体的用例非常有效。我还有一些额外的用例,我想做一些事情,比如重建数据。对于这些,我必须捕获某些请求属性,传递给控制器,然后委托给远程服务的后端 API 调用。
这一切都可以在 Symfony 中完成,但我在如何将其连接到 EasyAdmin 视图/工作方法方面遇到了麻烦。理想情况下,我希望这是一个易于管理的页面,并且不会丢失左侧菜单等。到目前为止,我发现做到这一点的唯一方法是创建一个模型类,它使用现有的表之一,但只有一些属性我需要进入 API。然后,我覆盖控制器操作,而不是执行默认保存,而是针对该远程 API 进行处理。
这种方法的问题在于,显然我现在绑定到 Doctrine 实体,这对于不可映射到数据库的请求来说会出现问题。
有没有一种方法可以定义一个逻辑实体,让我利用关联,以便我可以进行查找等,这些实体将无缝连接到捆绑包中,但实际上并不绑定到后端数据库表或视图?
小智 5
我正在为将来可能仍面临此问题的人们添加我的回复。我如何在不创建实体的情况下解决这个问题:
创建自定义控制器:symfony console make:controller
编辑控制器的视图以继承 EasyAdmin 布局:
{# ./src/templates/home/index.html.twig #}
{% extends '@EasyAdmin/Default/layout.html.twig' %}
{# Let\'s remove/empty the header #}
{% block content_header_wrapper %} {% endblock content_header_wrapper %}
{# The main page content block #}
{% block main %}
**PUT YOUR CODE HERE**
{% endblock main %}
{# Let\'s remove/empty the footer #}
{% block content_footer_wrapper %} {% endblock content_footer_wrapper %}
Run Code Online (Sandbox Code Playgroud)
design:
menu:
- {route: 'home', label: 'Home', default: true, icon: 'home'}
- {entity: 'MyEntity', label: 'My Relevant Entity', icon: 'briefcase'}
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
10121 次 |
最近记录: |