![](/img/trans.png)
[英]Propel2 joining with the table and then grouping by with aggregate function
[英]Propel - Joining the same table multiple times and grouping
我正在用Propel编写报告,需要多次连接同一张表 ,以便使用相同的数据获得不同日期范围的不同统计信息。
问题似乎是propel忽略了查询上的多个->leftJoin()
调用。 我认为我需要为每个连接添加别名,以便可以对它们进行单独处理,但是我找不到解决方法。
尝试addJoin()
$c = new Criteria();
$c->addJoin(array(Table1Peer::ID,), array(Table2Peer::Table1Peer_ID,), Criteria::LEFT_JOIN);
看起来您也可以别名:
$c->addJoin(TablePeer::alias("alias1", TablePeer::PRIMARY_KEY_COLUMN), TablePeer::PRIMARY_KEY_COLUMN);
有了别名和传递数组的功能,看来您应该能够对同一张表进行多重联接。
或者,您可以仅添加“ RelatedBy”关系方法...
例如:
ItemQuery::create()
->leftJoinItemRelatedByCodItemFather( 'Child' )
->addAsColumn( 'ChildName', "Child.name" )
->find() ;
我总是喜欢使用自动生成的Propel Methods = D
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.