簡體   English   中英

排序一個實體數組symfony2

[英]sort an array of entities symfony2

我有一組實體,我想根據該實體的一個屬性對其進行排序。 我看到在PHP中定義了諸如sort()之類的函數,但我想添加將基於該元素進行比較的元素。 有任何想法嗎???

$qb->select('a')
     ->from('TelnOperatorBundle:Subnumber', 'a')
     ->where('a.numberrange = :id')
     ->setParameter('id', $id);

 //$entites=$qb->getQuery()
             // ->getResult();
 $entites = $qb->getQuery()->getResult();
asort($entites);
//var_dump($entites);


foreach($entites as $entite)
{
  //$entite est une instance d'Article pour notre exemple
   echo($entite->getId());
 }

如果沒有理由需要無序數組並且實體由Doctrine處理,則可以在控制器中簡單地使用以下代碼:

$this->getDoctrine()->getRepository('TelnOperatorBundle:Subnumber')->findBy(
    array('numberrange' => $id),
    array('numberrange' => 'asc')
);

第一個數組保存WHERE子句的值,第二個數組保存ORDER BY的值。


如果要創建自己的查詢(例如在存儲庫中使用),只需添加:

[…]
->where('a.numberrange = :id')
->addOrderBy('a.numberrange', 'desc')
[…]

您的查詢。


在這兩種情況下,結果都按數據庫排序。 因此,無需您自己執行此操作。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM