2017-08-27 104 views
0

[設置]過濾器相關的實體

  • Symfony的3
  • ContainerEntity:[ID,名稱]
    • 可以包含0,正BoxEntity
  • BoxEntity:[ID ,container_id,父級,名稱]
    • 總是關聯iated到ContainerEntity
    • 可以包含0,正BoxEntity

[數據庫內容]

容器

------------------ 
| id | name | 
------------------ 
| 1 | container | 
------------------ 

-------------------------------------- 
| id | container_id | parent | name | 
-------------------------------------- 
| 1 |   1 | null | box 1 | 
-------------------------------------- 
| 2 |   1 | null | box 2 | 
-------------------------------------- 
| 3 |   1 |  1 | box 3 | 
-------------------------------------- 

[文件]

inventory.html.twig

{% if container.box|length > 0 %} 
    {% for box in container.box %} 
     <li class="nav_menu_item"> 
      <a class="nav_menu_link" href="">{{ box.name }}</a> 
      {% if box.inbox|length > 0 %} 
       <div class="nav_menu_dropdown"> 
        <ul> 
         {% for inbox in box.inbox %} 
          <li class="nav_menu_dropdown_item"> 
           <a class="nav_menu_dropdown_link" href="">{{ inbox.name }}</a> 
          </li> 
         {% endfor %} 
        </ul> 
       </div> 
      {% endif %} 
     </li> 
    {% endfor %} 
{% endif %} 

[問題]

在樹枝,我想篩選基於相關的實體列表上它是parent參數。
目前,做{{ container.box|length }}將返回3盒(同樣的問題{% for ... %}

我怎樣才能得到所有container.box其中box.parent爲空?

回答

1

試試這個

{% for box in container.box if box.parent is null %} 
+0

謝謝。它也可以用{{container.box | length}}'來完成嗎?如果是這樣,請好嗎? – Preciel

+0

{{container.box}}包含所有沒有區分的框實體,哪一個具有null或非空的父級,因此您應該使用loop for來區分它們。 – hous

+0

我也這麼認爲。感謝您的澄清。 – Preciel