[英]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.