我有一个关于使用推进 ORM 和创建查询的问题。
我有一个包含字段的表“位置”:
- 地点
- 子定位
- 邮政编码
- 街道
- 数字
现在我想选择位置字段不等于“空”的所有位置。
我怎样才能做到这一点?我试过这个,但我得到了所有的结果......
尝试查询:$locations = LocationQuery::create()->where('location' != null)->find();
你可以使用这个:
->filterByColumnName(null, Criteria::NOT_EQUAL)
推进中有各种“标准”用途,此处列出:推进标准
网站上没有确切的示例,最接近的是:
->filterByTags(array('novel', 'russian'), Criteria::CONTAINS_NONE)
你也可以使用
->filterByColumnName(null, CRITERIA::ISNOTNULL)
我不知道动力。但是表达式的正确 SQL 语法是:
$locations = LocationQuery::create()->where('location is not null')->find();
任何与NULL
in SQL 的比较都会返回NULL
,这被视为 false。除了is null
和is not null
。
CRITERIA::_needed_type_
您可以在此处引用所有 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