如何订购系列

时间:2014-06-05 10:01:07

标签: magento collections

我有两张桌子。表1包含主要值,表2包含次要值。我加入了表格,现在需要一些方法来订购集合并输出这些值。值必须按以下顺序排列:

Primary1
    secondary1
    secondary2
    secondary3
Primary2
    secondary4
Primary3
    secondary5
    secondary6

辅助表包含一个链接到主表的外键,我使用下面的语句

加入了它们
$areas = Mage::getModel('namespace_module/model')->getCollection();
$areas->getSelect()
      ->join(
        array('lr' => 'shop_locator_region'),
        'main_table.area_id = lr.area_id',
        array('region' => 'lr.name')
      );

以上内容返回所有必需的值,但如何获取返回的集合并对其进行排序?

这些是我使用var_dump时返回的值,name是主要值region是次要值

array (size=4)
0 =>
array (size=4)
'area_id' => string '1' (length=1)
'name' => string 'UK' (length=2)
'region' => string 'Manchester' (length=10)
1 =>
array (size=4)
'area_id' => string '1' (length=1)
'name' => string 'UK' (length=2)
'region' => string 'London' (length=6)
2 =>
array (size=4)
'area_id' => string '3' (length=1)
'name' => string 'JAPAN' (length=5)
'region' => string 'Tokyo' (length=5)
3 =>
array (size=4)
'area_id' => string '2' (length=1)
'name' => string 'EUROPE' (length=6)
'region' => string 'Paris' (length=5)

使用各种过滤器found here(并试图了解每个过滤器的作用)并查看代码库以查看菜单是如何生成的,我仍然无法解决问题。< / p>

1 个答案:

答案 0 :(得分:0)

$ areas = Mage :: getModel(&#39; namespace_module / model&#39;) - &gt; getCollection();
$ areas-&GT; getSelect()
       - &GT;加入(
        数组(&#39; lr&#39; =&gt;&#39; shop_locator_region&#39;),
        &#39; main_table.area_id = lr.area_id&#39;,
        数组(&#39;地区&#39; =&gt;&#39; lr.name&#39;)
      )
- &gt;订单(&#39; lr.PRIMARY_FIELD_NAME&#39;,&#39; ASC&#39;) - &gt;订单(&#39; lr.SECONDARY_FIELD_NAME&#39;,&#39; ASC&#39;) ;