File tree 2 files changed +36
-4
lines changed
2 files changed +36
-4
lines changed Original file line number Diff line number Diff line change @@ -61,17 +61,17 @@ var friendship = sql.define({
61
61
62
62
var friends = user .as (' friends' );
63
63
var userToFriends = user
64
- .leftJoin (friendship .on (user .id .equals (friendship .userId ) ))
65
- .leftJoin (friends .on (friendship .friendId .equals (friends .id ) ));
64
+ .leftJoin (friendship) .on (user .id .equals (friendship .userId ))
65
+ .leftJoin (friends) .on (friendship .friendId .equals (friends .id ));
66
66
67
67
// and now...compose...
68
- var friendsWhoHaveLoggedInQuery = userToFriends .where (friends .lastLogin .notNull ());
68
+ var friendsWhoHaveLoggedInQuery = user . from ( userToFriends) .where (friends .lastLogin .notNull ());
69
69
// SELECT * FROM "user"
70
70
// LEFT JOIN "friendship" ON ("user"."id" = "friendship"."userId")
71
71
// LEFT JOIN "user" AS "friends" ON ("friendship"."friendId" = "friends"."id")
72
72
// WHERE "friends"."lastLogin" IS NOT NULL
73
73
74
- var friendsWhoUseGmailQuery = userToFriends .where (friends .email .like (' %@gmail.com' ));
74
+ var friendsWhoUseGmailQuery = user . from ( userToFriends) .where (friends .email .like (' %@gmail.com' ));
75
75
// SELECT * FROM "user"
76
76
// LEFT JOIN "friendship" ON ("user"."id" = "friendship"."userId")
77
77
// LEFT JOIN "user" AS "friends" ON ("friendship"."friendId" = "friends"."id")
Original file line number Diff line number Diff line change
1
+ var sql = require ( '../lib' ) ;
2
+ var user = sql . define ( {
3
+ name : 'user' ,
4
+ columns : [ 'id' , 'lastLogin' , 'email' ]
5
+ } ) ;
6
+
7
+ //this also makes parts of your queries composable, which is handy
8
+
9
+ var friendship = sql . define ( {
10
+ name : 'friendship' ,
11
+ columns : [ 'userId' , 'friendId' ]
12
+ } ) ;
13
+
14
+ var friends = user . as ( 'friends' ) ;
15
+ var userToFriends = user
16
+ . leftJoin ( friendship ) . on ( user . id . equals ( friendship . userId ) )
17
+ . leftJoin ( friends ) . on ( friendship . friendId . equals ( friends . id ) ) ;
18
+
19
+ //and now...compose...
20
+ var friendsWhoHaveLoggedInQuery = user . from ( userToFriends ) . where ( friends . lastLogin . isNotNull ( ) ) ;
21
+ console . log ( friendsWhoHaveLoggedInQuery . toQuery ( ) . text ) ;
22
+ //SELECT * FROM "user"
23
+ //LEFT JOIN "friendship" ON ("user"."id" = "friendship"."userId")
24
+ //LEFT JOIN "user" AS "friends" ON ("friendship"."friendId" = "friends"."id")
25
+ //WHERE "friends"."lastLogin" IS NOT NULL
26
+
27
+ var friendsWhoUseGmailQuery = user . from ( userToFriends ) . where ( friends . email . like ( '%@gmail.com' ) ) ;
28
+ console . log ( friendsWhoUseGmailQuery . toQuery ( ) . text ) ;
29
+ //SELECT * FROM "user"
30
+ //LEFT JOIN "friendship" ON ("user"."id" = "friendship"."userId")
31
+ //LEFT JOIN "user" AS "friends" ON ("friendship"."friendId" = "friends"."id")
32
+ //WHERE "friends"."email" LIKE %1
You can’t perform that action at this time.
0 commit comments