knex.js,想翻译左连接中的 "and" 条件
knex.js, would like to translate "and" condition in left join
我有以下查询,我想以 knex 格式表示此查询。我已经通过使用 raw
函数使其工作,但我很好奇是否可以使用 knex 样式。
SELECT t.id, t.title, s.userId
FROM title t LEFT JOIN
subscribe s ON t.id = s.titleId AND s.userId = 1;
knex.select('*').from('title').leftJoin('subscribe', function() {
this.on('subscribe.titleId ', '=', 'title.id')
.andOn('subscribe.userId', '=', 1)
})
knex('title as t')
.select('t.id', 't.title', 's.userId')
.leftJoin('subscribe as s', (builder) => {
builder.on('t.id', 's.titleId').on('s.userId', knex.raw('?', [1]));
})
我有以下查询,我想以 knex 格式表示此查询。我已经通过使用 raw
函数使其工作,但我很好奇是否可以使用 knex 样式。
SELECT t.id, t.title, s.userId
FROM title t LEFT JOIN
subscribe s ON t.id = s.titleId AND s.userId = 1;
knex.select('*').from('title').leftJoin('subscribe', function() {
this.on('subscribe.titleId ', '=', 'title.id')
.andOn('subscribe.userId', '=', 1)
})
knex('title as t')
.select('t.id', 't.title', 's.userId')
.leftJoin('subscribe as s', (builder) => {
builder.on('t.id', 's.titleId').on('s.userId', knex.raw('?', [1]));
})