首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Modx xPDO getMany未返回预期结果

Modx xPDO getMany未返回预期结果
EN

Stack Overflow用户
提问于 2015-04-11 22:06:40
回答 1查看 172关注 0票数 0

我不知道这里发生了什么,但我试图从modx/xpdo对象中检索一些预算,并获得意想不到的结果。从下面的代码中,两个foreach循环返回与第一个getMany调用相同的结果。2项--如果我切换get多个调用的顺序--我只能得到两个foreach循环的一个结果。

代码语言:javascript
复制
$tipa = $this->modx->getObject('Tipa', array('id' => $id, 'token' => $token));


// should retrieve two objects
$tipa_sub_budgets = $tipa->getMany('TipaBudget', array('budget_type_id:!=' => '999'));
foreach($tipa_sub_budgets as $sb){
    echo $sb->get('id');
}

// should retrieve one object
$tipa_primary_budgets = $tipa->getMany('TipaBudget', array('budget_type_id' => '999'));
foreach($tipa_primary_budgets as $tb){
    echo $tb->get('id');
}

我不知道这里发生了什么。从$tipa对象抓取2组对象的正确方法是什么?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-04-12 01:27:07

我认为xPDO::getObject()可以作为数组或xPDOCriteria的实例传递条件,而xPDOObject::getMany()只需要xPDOCriteria的一个实例,这意味着数组不能工作。

尝试像这样传递一个xPDOCriteria实例..。

代码语言:javascript
复制
$criteria = $this->modx->newQuery("TipdaBudget"); // classname, not the alias
$criteria->where(array("budget_type_id:!=" => 999));

$tipa_sub_budgets = $tipa->getMany("TipaBudget", $criteria);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/29583624

复制
相关文章

相似问题

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