【问题标题】:MODX Revo custom sort order for getCollection用于 getCollection 的 MODX Revo 自定义排序顺序
【发布时间】:2012-10-15 07:18:51
【问题描述】:

我有一个带有 id 的数组:

$ids = array(240, 12, 400);

我想用$modx->getCollection('modResource');按顺序获取这些对象

我怎样才能做到这一点?

如果我这样做:

$res = $modx->getCollection('modResource', array(
    'id:IN' => $ids
));

这些盒子按 ASC 顺序排列,但我希望它们按以下顺序排列:240、12 400...

【问题讨论】:

    标签: php modx modx-revolution


    【解决方案1】:

    试试这个:

    $criteria = $modx->newQuery('modResource');
    $criteria->sortby('FIELD(modResource.id, '.implode(',',$ids).' )', 'DESC');
    $criteria->where(array(
        'id:IN' => $ids
    ));
    $res = $modx->getCollection('modResource', $criteria);
    

    【讨论】:

    • 那是当场!在我的示例中,我必须将 DESC 更改为 ASC,但是,一切都很好!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-05-12
    • 2016-05-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多