1

如果我有两个 dbobject,例如:

@interface Member : DBObject

@property (strong) NSString* firstname;
@property (strong) NSString* lastName;
@property (strong) Group* group;

@end

@interface Group : DBObject

@property (strong) NSString* groupName;
@property (strong) NSString* adminName;

- (DBResultSet*)members;

@end

在成员对象中,我可以检索与组相关的成员,但在成员对象中,也有许多对象不包含组对象。那我怎样才能拿到它们呢?

我试过这个,但给出了空的 DBResultSet。

[[[Member query] whereWithFormat:@"group == %@",NULL] fetch];

感谢广告。

4

1 回答 1

2

是的,在 SQLite 中,您不能等同于 NULL,因此您可以使用稍微不同的表达式来处理 NULL 对象。您需要使用IS NULLIS NOT NULL

简而言之,您上面的查询将变为:

[[[Member query] where:@"group IS NULL"] fetch];

有时它确实会弄乱使用参数构建查询,但在这种情况下,您只需构建查询以使其看起来有点不同。

例如:

[[[Member query] whereWithFormat:@"(group == %@ OR group IS NULL)",@(123)] fetch];

感谢广告

于 2015-04-17T06:56:43.907 回答