当前位置:  开发笔记 > 编程语言 > 正文

排除控制器中的实体结果

如何解决《排除控制器中的实体结果》经验,为你挑选了0个好方法。

这是我的环境:

我有一个实体:

Object
|____ id (integer)
|____ foo (string)
|____ configurations (collection)    

该属性configurations是使用a Configuration映射的实体的集合oneToMany.无论如何,这看起来像这样:

Configuration
|____ id (integer)
|____ bar (string)
|____ name (string, nullable)

我有一个服务来获得一个object:

该服务是一个管理许多项目对象的包.

此服务不知道哪个项目调用它.

此服务是一组过滤器,事件侦听器和SQL查询.(约2K行)

考虑一下我不能/不想更新它的get过程,我想在这里做什么.

我有一个我想在我的控制器中执行的操作,如下所示:

$objMgr = $this->get('objectManager'); //get my service I talked before
$object = $objMgr->findOneById(); //get my object

return array('object' => $object);// render template

我有很多主题管理最终用户屏幕,每个主题都有一个twig文件:

theme1
|____ object_details.html.twig
theme2
|____ object_details.html.twig
themeX
|____ object_details.html.twig

这些object_details.html.twig代码用于打印配置.

{% for config in object.configurations %}
    {# div config.blablabla etc. #}
{% endfor %}
我的问题 :

根据上面的上下文,我可以排除name属性不为null的所有配置吗?

答案要求:

答案不会编辑树枝文件(我知道怎么做^^)

我想确保排除a configuration,不会被doctrine检测到,并且它会config在代码中的某个随机刷新中删除我的数据库.

答案可能是:"老兄,我们做不到".事实上,我很想知道它是否可能.我现在不知道.

答案必须尊重一些最佳实践:)

评论期待:为什么不编辑twig文件?:我有很多主题,我想知道是否可以做一次.

为什么不在数据库查询中排除结果?:因为我希望使用此getter在我的其他页面和项目中进行这些配置.

+50为最好的尝试:)

推荐阅读
pan2502851807
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有