繁体   English   中英

Propel-多次连接同一张表并分组

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM