2010-09-02 153 views
0

我尝试将此查询转换为Criteria(with Propel),但没有成功。如何将此查询转换为Criteria?

你能帮助我吗?

SELECT DISTINCT (email) 
FROM user, travail 
WHERE travail.id_user = user.id_user 
AND id_site = "1" 
AND `droits` = "1" 

这是我的标准查询:

$c = new Criteria(); 
    $c->add(self::DROITS, 1, Criteria::EQUAL); 
    $c->add(TravailPeer::ID_SITE, 1, CRITERIA::EQUAL); 
    $c->setDistinct(self::EMAIL); 

回答

0

如何:

$c = new Criteria(); 
$c->add(UserPeer::DROITS, 1); 
$c->addJoin(UserPeer::ID_USER, TravailPeer::ID_USER); 
$c->add(TravailPeer::ID_SITE, 1); 
$c->clearSelectColumns(); 
$c->addSelectColumn(UserPeer::EMAIL); 
$c->setDistinct(); 

$rs = UserPeer::doSelectRS($c); 
+0

我获得误差:错误填充用户对象[包裹:无效结果集柱:2] – bahamut100 2010-09-02 13:01:48

+0

D'哦,最后行应为:'$ RS = UserPeer :: doSelectRS($ C);' – Raise 2010-09-02 13:11:40

+0

它的工作原理,谢谢:) – bahamut100 2010-09-02 13:17:50

0

嗨,您可以使用推进建设者不仅这一点,但任何SQL的标准翻译。以下是在线建设者网站之一。

http://propel.jondh.me.uk/