-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathMDDFunctionQuery.m
More file actions
39 lines (31 loc) · 1.2 KB
/
MDDFunctionQuery.m
File metadata and controls
39 lines (31 loc) · 1.2 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
//
// MDDFunctionQuery.m
// MDDatabase
//
// Created by xulinfeng on 2018/3/23.
// Copyright © 2018年 markejave. All rights reserved.
//
#import "MDDFunctionQuery.h"
#import "MDDQuery+Private.h"
#import "MDDItem.h"
#import "MDDRange.h"
#import "MDDDescription.h"
@implementation MDDFunctionQuery
+ (instancetype)functionQueryWithTableInfo:(id<MDDTableInfo>)tableInfo property:(MDDFuntionProperty *)property;{
return [self functionQueryWithTableInfo:tableInfo property:property alias:nil];
}
+ (instancetype)functionQueryWithTableInfo:(id<MDDTableInfo>)tableInfo property:(MDDFuntionProperty *)property alias:(NSString *)alias;{
MDDFunctionQuery *query = [self descriptorWithTableInfo:tableInfo];
query.properties = (id)[NSSet setWithObject:property];
query.alias = alias;
query.transform = ^id(NSDictionary *result) {
return property.alias ? result[property.alias] : result;
};
return query;
}
- (MDDDescription *)SQLDescription{
MDDDescription *description = [super SQLDescription];
if (_alias) return [MDDDescription descriptionWithSQL:[NSString stringWithFormat:@" ( %@ ) AS %@", [description SQL], _alias] values:[description values]];
return description;
}
@end