首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MODx mysql数组排序

MODx mysql数组排序
EN

Stack Overflow用户
提问于 2012-12-07 01:22:22
回答 2查看 825关注 0票数 0

我需要为MODx页面创建一个已过滤条目的排序列表。我在db中有几个带有'table1‘和列'id','name','someparam1’等的条目。我可以用以下命令在页面上打印整个列表

代码语言:javascript
复制
$companies = $modx->getCollection('Company'); 
foreach($companies as $company) {
    $fields = $company->toArray();
    $output .= $modx->getChunk('showEntryTpl', $fields);
}
return $output;

但我仍然不能使用recommendation#1recommendation#2打印相同的列表: MODx文档中的示例:

代码语言:javascript
复制
$c = $xpdo->newQuery('Box');
$c->innerJoin('BoxOwner','Owner'); // arguments are: className, alias
$c->where(array(
   'width' => 5,
   'Owner.user' => 2,
));
$c->sortby('name','ASC');
$c->limit(5);
$boxes = $xpdo->getCollection('Box',$c);

这样使用它

代码语言:javascript
复制
$sortingcriteria = 'id';

$s = $modx->newQuery('modResource');
$s->sortby($sortingcriteria,'ASC');
$out = $modx->getCollection('Company',$s);

return $out;

不起作用。如何按选定的列对列表进行排序,然后对其进行筛选?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2012-12-07 21:06:58

感谢Vasis和Sean Kimball的建议!此代码从数据库中提取几条记录,按ASC/DESC顺序排序,并按一些值进行筛选:

代码语言:javascript
复制
$sortingcriteria = 'id';
$filter1 = 'free';
$s = $modx->newQuery('Company');
$s->sortby($sortingcriteria,'ASC');
$s->where(array(
   'pay_type' => $filter1,
));
$out = $modx->getCollection('Company',$s);
$output = '';
foreach ($out as $item) {
    $fields = $item->toArray();
    $output .= $modx->getChunk('showAllCompaniesTpl', $fields);
}

return $output;
票数 1
EN

Stack Overflow用户

发布于 2012-12-07 02:43:44

代码语言:javascript
复制
$sortingcriteria = 'id';

$s = $modx->newQuery('Company'); // your mistake here. Need to use 'Company' instead 'modResource'

然后,您可以对条目进行排序和过滤

代码语言:javascript
复制
$s->sortby($sortingcriteria,'ASC');
$s->where(array(
   'column_name1' => 5,
   'column_name2' => 2,
));
$out = $modx->getCollection('Company',$s);

$output = '';
foreach ($out as $item) {
    $output .= $item->get('column_name') . '<br/>';
}

return $output;
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/13749037

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档