我對使用propel ORM和創建查詢有疑問。選擇fieldone不等於null的所有字段+ Propel
我有一個表「位置」與字段:
- 位置
- sublocation
- 郵編
- 街道
- 號
現在我想選擇所有的位置,其中位置字段IS NOT等於「零」。
我該怎麼做?我試過,但我找回所有的結果...
嘗試查詢:$locations = LocationQuery::create()->where('location' != null)->find();
我對使用propel ORM和創建查詢有疑問。選擇fieldone不等於null的所有字段+ Propel
我有一個表「位置」與字段:
- 位置
- sublocation
- 郵編
- 街道
- 號
現在我想選擇所有的位置,其中位置字段IS NOT等於「零」。
我該怎麼做?我試過,但我找回所有的結果...
嘗試查詢:$locations = LocationQuery::create()->where('location' != null)->find();
不知推進。但對於表達正確的SQL語法是:
$locations = LocationQuery::create()->where('location is not null')->find();
在SQL任何比較NULL
返回NULL
,這被視爲假。除了is null
和is not null
。
您可以使用此:
->filterByColumnName(null, Criteria::NOT_EQUAL)
有在推進各種「標準」的使用,這裏列出:propel criteria
沒有這個網站上的一個確切的樣品,最接近的是這樣的:
->filterByTags(array('novel', 'russian'), Criteria::CONTAINS_NONE)
您可以參考CRITERIA::_needed_type_
here的所有Propel 2比較類型。
EQUAL
NOT_EQUAL
ALT_NOT_EQUAL
GREATER_THAN
LESS_THAN
GREATER_EQUAL
LESS_EQUAL
LIKE
NOT_LIKE
CONTAINS_ALL
CONTAINS_SOME
CONTAINS_NONE
ILIKE
NOT_ILIKE
CUSTOM
RAW
CUSTOM_EQUAL
DISTINCT
IN
NOT_IN
ALL
JOIN
BINARY_AND
BINARY_OR
ASC
DESC
ISNULL
ISNOTNULL
CURRENT_DATE
CURRENT_TIME
CURRENT_TIMESTAMP
LEFT_JOIN
RIGHT_JOIN
INNER_JOIN
LOGICAL_OR
LOGICAL_AND
謝謝!正確的語法是:locations = LocationQuery :: create() - > where('location IS NOT NULL') - > find(); – nielsv