Symfony查询中IN的两种实现方式
1.addOr实现
$c = new Criteria();
$t1s = T1Peer::doSelect($c);
$c = new Criteria();
$c->addDescendingOrderByColumn(T2Peer::T2ID );
foreach ($t1s as $t1){
$c1=$c->getNewCriterion( T2Peer::T2ID , $t1->getT1d());
$c->addOr($c1);
}
$t2s = T2Peer::doSelect($c);
2.Criteria::IN加数组实现
$c = new Criteria();
$t1s = T1Peer::doSelect($c);
$c = new Criteria();
$c->addDescendingOrderByColumn(T2Peer::T2ID );
$i=0;
foreach ($t1s as $t1){
$t2ids[$i]=$t1->getT1d();
$i++;
}
$c->add( T2Peer::T2ID , $t2ids, Criteria::IN);
$t2s = T2Peer::doSelect($c);
搜索更多相关主题的帖子:
Criteria Symfony new doSelect foreach