рд╣рд╛рдп, Knexjs рдЯреАрдо рджреНрд╡рд╛рд░рд╛ рдорд╣рд╛рди рдХрд╛рдоред рдореИрдВ ORM рдкрд░ knexjs рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВ рдЬрд┐рд╕рдореЗрдВ рдПрдХ рдЫреЛрдЯрд╛ рдЙрджрд╛рд╣рд░рдг рд╣реИ рдЬрд┐рд╕рдореЗрдВ рдХрдИ рд╕рдВрдмрдВрдз рд╣реИрдВред рдЗрд╕рдХрд╛ рдЙрджрд╛рд╣рд░рдг рд▓реЗрдЦрдХреЛрдВ рдФрд░ рдкреБрд╕реНрддрдХреЛрдВ рдХрд╛ рд╣реИ, рдЬрд╣рд╛рдВ рд▓реЗрдЦрдХ рдХреА рддрд╛рд▓рд┐рдХрд╛ рдХреЗ рдорд╛рдзреНрдпрдо рд╕реЗ рдХрдИ рдЯреЗрдмрд▓ рдФрд░ рдмреБрдХ рдЯреЗрдмрд▓ рдХреЗ рдХрдИ рд╕рдВрдмрдВрдз рд╣реИрдВред рдореИрдВ рд╕рднреА рд▓реЗрдЦрдХреЛрдВ рдХреЗ рд╕рд╛рде рд╡рд┐рд╢реЗрд╖ рдкреБрд╕реНрддрдХ рдкреНрд░рд╛рдкреНрдд рдХрд░рдирд╛ рдЪрд╛рд╣рддрд╛ рд╣реВрдВред рдиреАрдЪреЗ рдХрдЪреНрдЪреА рдХреНрд╡реЗрд░реА рд╣реИ рдЬреЛ рдЕрдкреЗрдХреНрд╖рд┐рдд рдкрд░рд┐рдгрд╛рдо рджреЗрддреА рд╣реИред рд▓реЗрдХрд┐рди рдореБрдЭреЗ рдирд╣реАрдВ рдорд┐рд▓ рд░рд╣рд╛ рд╣реИ рдХрд┐ рдХреНрдиреЗрдХреНрд╕рдЬ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдЗрд╕ рдХреНрд╡реЗрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХреИрд╕реЗ рдХрд░реЗрдВ? рдХрд┐рд╕реА рднреА рд╕рд╣рд╛рдпрддрд╛ рдХреА рд╕рд░рд╛рд╣рдирд╛ рдХреА рдЬрд╛рдПрдЧреАред
рдиреЛрдЯ: рдореИрдВ рдЬрд╛рд╡рд╛рд╕реНрдХреНрд░рд┐рдкреНрдЯ ES6 рдХреЗ рд╕рд╛рде Knexjs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
SELECT `book`.`id` , `book`.`title` , `authors`.`id` AS `authors.id` , `authors`.`name`
AS `authors.authorname` , `authors.author_books`.`book_id`
AS `authors.author_books.bookId` , `authors.author_books`.`author_id`
AS `authors.author_books.author_id`
FROM `books` AS `book`
LEFT OUTER JOIN (
`author_books` AS `authors.author_books`
INNER JOIN `authors` AS `authors` ON `authors`.`id` = `authors.author_books`.`author_id`
) ON `book`.`id` = `authors.author_books`.`book_id`
WHERE `book`.`id` =1
рдпрд╣ рд╡рд╣ рдХреНрд╡реЗрд░реА рд╣реИ рдЬрд┐рд╕реЗ рдореИрдВ Knexjs рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдмрдирд╛рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
this.Knex('books as book')
.leftOuterJoin('author_books as authors.author_books', function(){
// How could I nest INNER JOIN in LEFT OUTER JOIN
this.on('book.id', 'authors.author_books.book_id')
}).select('book.id', 'book.title', 'authors.id as authors.id'
, 'authors.name as authors.name', 'authors.author_books.book_id as authors.author_books.book_id'
, 'authors.author_books.author_id as authors.auhtor_books.author_id')
.where('book.id', id)
рдХреГрдкрдпрд╛ рдореБрдЭреЗ рдмрддрд╛рдПрдВ рдХрд┐ рдХреНрдпрд╛ рдореИрдВ рдХрд╣реАрдВ рдЧрд▓рдд рд╣реВрдВ?
рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдиреЗрдХреНрд╕реНрдЯрдЬреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП? рдЗрдирд░ рдиреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЗрдлреНрдЯ рдпрд╛ рд░рд╛рдЗрдЯ рдЬреЙрдЗрди рдХреЗ рд╕рд╛рде рдиреЗрд╕реНрдЯреЗрдб рдЬреБрдбрд╝реЗрдВ, рддрд╛рдХрд┐ рдХреНрд▓реЗрд░реА SQL рдХреНрд╡реЗрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХреЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХреНрд╡реЗрд░реА рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЕрдиреБрднрд╛рдЧ?
@saurabhghewari рдХреНрдпрд╛ рдЖрдкрдиреЗ рдХрднреА рдЗрд╕ рд╕рд╡рд╛рд▓ рдХрд╛ рд╣рд▓ рдЦреЛрдЬрд╛? рдореИрдВ рдХреБрдЫ рдРрд╕рд╛ рд╣реА рдХрд░рдиреЗ рдХреА рдХреЛрд╢рд┐рд╢ рдХрд░ рд░рд╣рд╛ рд╣реВрдВред
рдореЗрд░рд╛ рдХрд╣рдирд╛ рд╣реИ рдХрд┐ рдореБрдЭреЗ рдпрдХреАрди рдирд╣реАрдВ рд╣реИ рдХрд┐ рдЕрдЧрд░ рдиреЗрдХреНрд╕ рдиреЗрд╕реНрдЯреЗрдб рдЬреЙрдЗрди рдХрд╛ рд╕рдорд░реНрдерди рдХрд░рддрд╛ рд╣реИ ... рддреЛ рдореИрдВрдиреЗ рдЙрд╕ рдорд╛рдорд▓реЗ рдХреЗ рд▓рд┐рдП рдХреЛрдИ рдкрд░реАрдХреНрд╖рдг рдпрд╛ рдкреНрд░рд▓реЗрдЦрди рдирд╣реАрдВ рджреЗрдЦрд╛, рдЗрд╕рд▓рд┐рдП рдореБрдЭреЗ рдкреВрд░рд╛ рдпрдХреАрди рд╣реИ рдХрд┐ рд╡реЗ рд╕рдорд░реНрдерд┐рдд рдирд╣реАрдВ рд╣реИрдВред рдХреГрдкрдпрд╛ рдЗрд╕рдХреЗ рд▓рд┐рдП рд╕реБрд╡рд┐рдзрд╛ рдЕрдиреБрд░реЛрдз рдЬреЛрдбрд╝реЗрдВред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рд╕рд╡рд╛рд▓ рдпрд╣ рд╣реИ рдХрд┐ рдиреЗрдХреНрд╕реНрдЯрдЬреЗрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рдкреНрд░рд╢реНрдиреЛрдВ рдХреЛ рдХреИрд╕реЗ рдЬреЛрдбрд╝рд╛ рдЬрд╛рдП? рдЗрдирд░ рдиреЗрдХреНрд╕ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░рдХреЗ рд▓реЗрдлреНрдЯ рдпрд╛ рд░рд╛рдЗрдЯ рдЬреЙрдЗрди рдХреЗ рд╕рд╛рде рдиреЗрд╕реНрдЯреЗрдб рдЬреБрдбрд╝реЗрдВ, рддрд╛рдХрд┐ рдХреНрд▓реЗрд░реА SQL рдХреНрд╡реЗрд░реА рдХрд╛ рдирд┐рд░реНрдорд╛рдг рдХрд░ рд╕рдХреЗрдВ рдЬреИрд╕рд╛ рдХрд┐ рдКрдкрд░ рдХреНрд╡реЗрд░реА рдореЗрдВ рджрд┐рдЦрд╛рдпрд╛ рдЧрдпрд╛ рд╣реИ: рдЕрдиреБрднрд╛рдЧ?