->joinOrigin('origin')
->joinLocation('location', \Criteria::LEFT_JOIN)
->where("LOWER(IF(location.code IS NOT NULL,location.code, origin.code)) NOT IN ?", $not_in_old_job_search_array)
是Propel查询语句我从原始的SQL移植的一部分。 location
和origin
有两个外键(在schema.xml中声明为这样的),它指向同一个表。 推进增加适当的加入:
INNER JOIN `idb_countries` `origin`
ON (idb_ads.idb_countries_ididb_origin=origin.ididb_countries)
LEFT JOIN `idb_countries` `location`
ON (idb_ads.idb_countries_ididb_job_location=location.ididb_countries)
但在where子句出来是这样的:
LOWER(IF(idb_countries.code IS NOT NULL,idb_countries.code, idb_countries.code)) NOT IN (:p5,:p6,:p7))
我怎样才能避免这种情况?
编辑:我的行走的版本是1.7.0,和我的php版本是5.4.9