我在iOS应用程序中使用sqlite,我使用FMDB作为包装器.这是我的数据库架构:
CREATE TABLE Offer (code TEXT PRIMARY KEY NOT NULL,name TEXT); CREATE TABLE OffreMarket (codeOffer TEXT NOT NULL,codeMarket TEXT NOT NULL,FOREIGN KEY(codeOffer) REFERENCES Offer(code),FOREIGN KEY(codeMarket) REFERENCES Market(code)); CREATE TABLE Market (code TEXT PRIMARY KEY NOT NULL,name TEXT);
我的模型对象:
@interface Offer : NSObject @property (nonatomic,copy) Nsstring *code; @property (nonatomic,copy) Nsstring *name; @property (nonatomic,copy) NSArray *markets; @end @interface OffreMarket : NSObject @property (nonatomic,copy) Nsstring *codeOffer; @property (nonatomic,copy) Nsstring *codeMarket; @end @interface Market : NSObject @property (nonatomic,copy) Nsstring *name; @end
- (NSArray *)offers { // Open database NSMutableArray *offers = [NSMutableArray new]; FMResultSet *resultSet = [database executeQuery:@"SELECT * FROM Offer"]; while ([resultSet next]){ Offer *offer = [Offer new]; offer.code = [resultSet stringForKey:@"code"]; offer.name = [resultSet stringForKey:@"name"]; // Get the markets for each offer FMResultSet *marketResultSet = [database executeQuery:@"SELECT * FROM OffreMarket WHERE codeOffer = ?",offer.code]; NSMutableArray *offers = [NSMutableArray new]; while ([marketResultSet next]) { OffreMarket *offerMarket = [OffreMarket new]; .... [offers addobject:offerMarket]; } market.offers = [offers copy]; } return [offers copy] }
解决方法
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。