
要使用QueryBuilder以相同的方式访问->参与者,您将必须在Query中建立联接。
代码示例可能类似于:
$queryBuilder = $this->getDI()->getModelsManager() ->createBuilder() ->columns(['p.id','participants.*']) ->addFrom('EntityProjects', 'p') ->leftJoin('EntityParticipants', 'participants.projectId = p.id', 'participants') ->groupBy('p.id, participants.id') ->orderBy('p.id ASC');$resultSet = $queryBuilder->getQuery()->execute();groupBy()这里使用by来使结果可能是多维的。
这种查询(在PgSQL下进行了测试)使Phalcon
pi在项目的Resultsset中创建了参与者的一些后续ResultSet对象
p。
您仍然可以使用进行遍历,
foreach()但毕竟 我不确定它是否减少了最终查询数 。
进行的射击仍保留为Resultset,因此您应
$result = $resultSet->toArray()对此
$result['pi']保持谨慎。
您可以通过在
columns()参数中定义确切的列来强制将其转储为数组。它有其缺点-
groupBy()至少在这里运行的Phalcon
1.3.2和PHP 5.5.3 im上,您将不再从中受益。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)