推动 ORM:选择“不在”条件下的条件

Posted

技术标签:

【中文标题】推动 ORM:选择“不在”条件下的条件【英文标题】:Propel ORM: select criteria with "not in" condition 【发布时间】:2014-05-08 15:21:51 【问题描述】:

我怎样才能为这种类型的查询建立一个推进标准:

SELECT * FROM Table1 WHERE id not in (SELECT id FROM Table2 WHERE field1 = 2)

【问题讨论】:

【参考方案1】:

我找到了解决办法,可以使用Criteria::CUSTOM,例如:

public static function getElementsWithNotIn()
    $c = new Criteria();
    $c->add(Table1Peer::ID, Table1Peer::ID . ' NOT IN (SELECT '. Table2Peer::ID .' FROM '. Table2Peer::TABLE_NAME .')', Criteria::CUSTOM);
    return Table1Peer::doSelect($c);

【讨论】:

以上是关于推动 ORM:选择“不在”条件下的条件的主要内容,如果未能解决你的问题,请参考以下文章

使用复杂条件下的if选择结构

SQLite查询在相同条件下的2条记录之间进行选择

Laravel ORM 怎么在条件语句中做本表的一个字段和关联表的字段做比较?

9-分支选择

推动 ORM 自引用外键

具有多个条件的选择案例函数未循环