Php 如何在Symfony 3中自动检查变量是否为空?
(很抱歉英语这么差) 我想知道是否有可能自动检查MySQL请求中的变量在Symfony 3中是否为空。我知道我可以把Php 如何在Symfony 3中自动检查变量是否为空?,php,mysql,symfony,Php,Mysql,Symfony,(很抱歉英语这么差) 我想知道是否有可能自动检查MySQL请求中的变量在Symfony 3中是否为空。我知道我可以把{%if-foo被定义为%}放在Twig或者类似的东西中,但是我没有发现是否有一种方法可以自动完成。我也可以在控制器中测试请求。但有了这些解决方案,我就必须满足每一个请求 我所有的网站都使用“如果不是空的,那么就显示出来”,这就是为什么我试图找到它 编辑:我知道如何在Twig或php(Controller)中逐个检查每个请求的每个字段,但是有很多重复代码,这很“无聊”。这就是为什么
{%if-foo被定义为%}
放在Twig或者类似的东西中,但是我没有发现是否有一种方法可以自动完成。我也可以在控制器中测试请求。但有了这些解决方案,我就必须满足每一个请求
我所有的网站都使用“如果不是空的,那么就显示出来”,这就是为什么我试图找到它
编辑:我知道如何在Twig或php(Controller)中逐个检查每个请求的每个字段,但是有很多重复代码,这很“无聊”。这就是为什么我问你是否存在自动检查我数据的方法。(Symfony中的参数,…)
谢谢如果我理解,您的问题: 您希望对实体中的每个属性进行迭代。但您不能,那么您正在寻找一种解决方案,以避免写入:
{% if entity.property1 %}
{{ entity.property1 }}
{% endif %}
{% if entity.property2 %}
{{ entity.property2 }}
{% endif %}
{% if entity.property3 %}
{{ entity.property3 }}
{% endif %}
有两种解决方案可以使属性可遍历:
- 使用
而不是->getArrayResult()
->getResult()
- 使用
以数组形式获取属性:ReflectionClass
{# Where you get your entity as an array #}
{% for property in entity %}
{% if not property is null %}
{{ property }}
{% endif %}
{% endfor %}
{# where fields comes from the ReflectionClass #}
{% for field in fields %}
{% if not attribute(entity,field) is null %}
{{ attribute(entity,field)}}
{% endif %}
{% endfor %}
使用细枝并将其设置为false
(应为默认值):
严格布尔变量
如果设置为false,Twig将自动忽略无效变量
(不存在的变量和/或属性/方法)并替换
它们的值为空。设置为true时,Twig抛出异常
而是(默认为false)
您好,请展示php代码。展示您尝试过的内容。您阅读了问题吗?我知道如何在Twig或php(Controller)中逐个检查每个请求的每个字段,但是有很多重复代码,这很“无聊”。这就是为什么我问你是否存在自动检查我数据的方法。(Symfony中的参数,…)这是不清楚的-我们很难在看不到任何代码的情况下理解您试图实现的目标。正如所写的那样,您似乎想检查变量是否为空,而不告诉PHP/Symfony您想检查它。PHP无法读懂您的心思,您必须告诉它在某个地方进行检查-这通常是通过
empty()
完成的,或者是在Twig中定义的。您是否可以至少显示一些代码行,其中可能出现问题,您可能需要显示一些文件(Twig和controller等),然后我们“可以”帮助您解决问题。你知道我们愿意免费帮助你吗?就是这样!非常感谢。