0
,在某些情況下,knex不會將左連接添加到查詢中。我試圖用最少的代碼來重現該bug,所以我試圖在內存中使用knex sqlite3。由於某些原因,使用書架時缺少左連接/ knex
var knex = require('knex')({
client:'sqlite3',
connection: {
filename: ":memory:"
},
debug: true
});
var bookshelf = require('bookshelf')(knex);
var Conversation = bookshelf.Model.extend({
tableName: 'conversations',
});
Conversation
.where(qb => {
qb
.leftJoin('conversations_recipients', function() {
this.on('conversations_recipients.conversationId', 'conversations.id');
});
})
.fetch();
當我檢查控制檯上的調試消息,我得到:
{ method: 'select',
options: {},
bindings: [ 1 ],
sql: 'select "conversations".* from "conversations" limit ?' }
還有加入缺少左的。有人知道這段代碼有什麼問題,以及如何包含所需的連接?
在此先感謝。
此語法是否正確? '。'where(qb => {' – clay
是的,它是es6箭頭函數,它在節點v6中運行時沒有語法錯誤 – someone235
很難從最小代碼示例中判斷,但不會'Conversation.fetch({withRelated:'假設_Conversation_有一個'hasMany'關聯到一個新的模型類_Recipient_? – bgerth