2016-09-20 65 views
0
  1. 有3個實體文檔,DocsPerm,已超出DocsList 在教義
  2. 我只選擇文檔+ DocsPerm。
  3. 然後我檢查Docs-> getDocsList-> isEmpty(),然後從數據庫中選擇所有DocsList
  4. 如何檢查DocsList是否爲空或者選擇無故從數據庫中選擇所有元素? 謝謝。

編輯: 例如Symfony3教義檢查,如果集合爲空

  1. 有2個控制器。 (一個帶有Docs + perm,第二個Docs + DocList)
  2. 對於2個控制者有1個樹枝模板。在這裏,我wan't檢查

{% if Docs.DocsList is empty %}回報虛假 或

{% if Docs.DocsList.isEmpty %}回報虛假或

{% if Docs.DocsList.first is defined %}出現錯誤。

前兩個從db巫婆得到所有DocsList元素我不需要。

回答

1

提供服務。

喜歡的東西

$docListChecker->isEmpty($docs); 

然後最終進行查詢,將只取實體的算,而不是實體本身。

$result = $qb->select('COUNT(l)') 
       ->from('YourBundle:docsList' , 'l') 
       ->leftJoin('l.docs.','d') 
       ->where('d.id = :id') 
       ->setParameter('id', $id) 
       ->getQuery() 
       ->getSingleScalarResult(); 

該服務可以傳遞給枝杈和檢查清單,

{% if checker.isEmpty(Docs.DocsList) %} 

甚至可以使一個樹枝過濾器並使用它像

{% if Docs.DocsList | isListEmpty %} 
+0

感謝,這不是我需要。我更新帖子,我想要的例子.. – Agris

+0

再次。提供服務。請參閱upd如何在樹枝中使用它 –