如何检查表单字段是否在呈现控制器的树枝模板中包含数据

时间:2015-08-28 21:18:58

标签: symfony twig

这是this one的后续问题。我想知道的是如何检查实体变量是否存在/是否定义/非空。我以为我能做到这一点:

{% if entity.orgId is defined %}
{{ render(controller(
    'CompanyNameofBundle:OrgMember:test', {'orgid':entity.orgId})) }}
{% endif %}

但是如果entity.orgId为null,我在渲染模板时会抛出异常(“产品不存在”)。

3 个答案:

答案 0 :(得分:1)

将控制器更改为返回null而不是异常:

public function testAction($orgid = null) {
    if (!$orgid) { return null; }
// Rest of code.
}

答案 1 :(得分:0)

您有两种选择:

  1. 请勿使用支票

    调用渲染控制器
    {% if entity.orgId is defined and entity.orgId is not null %}
    
  2. 使OrgMemberController中的testAction为null-safe(检查参数orgid是否为null)

答案 2 :(得分:0)

试试这个:

{% if entity.orgId is defined %}
    {% if entity.orgId is null %}
        {# do something #}
    {% else %}
        {# do anythingelse #}
    {% endif %}
{% endif %}