Knex: ΠΌΠΎΠΆΠ½ΠΎ Π»ΠΈ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹ΠΉ запрос соСдинСния?

Π‘ΠΎΠ·Π΄Π°Π½Π½Ρ‹ΠΉ Π½Π° 21 Π°ΠΏΡ€. 2016  Β·  3ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΈ  Β·  Π˜ΡΡ‚ΠΎΡ‡Π½ΠΈΠΊ: knex/knex

ΠŸΡ€ΠΈΠ²Π΅Ρ‚, ΠžΡ‚Π»ΠΈΡ‡Π½Π°Ρ Ρ€Π°Π±ΠΎΡ‚Π° ΠΊΠΎΠΌΠ°Π½Π΄Ρ‹ Knexjs. Π― ΠΏΡ€ΠΎΠ±ΡƒΡŽ knexjs ΠΏΠΎΠ²Π΅Ρ€Ρ… ORM с ΠΎΠ΄Π½ΠΈΠΌ нСбольшим ΠΏΡ€ΠΈΠΌΠ΅Ρ€ΠΎΠΌ, ΠΈΠΌΠ΅ΡŽΡ‰ΠΈΠΌ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΡ "ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ". ΠŸΡ€ΠΈΠΌΠ΅Ρ€ для Π°Π²Ρ‚ΠΎΡ€ΠΎΠ² ΠΈ ΠΊΠ½ΠΈΠ³, Π³Π΄Π΅ Ρ‚Π°Π±Π»ΠΈΡ†Π° auhtors ΠΈ Ρ‚Π°Π±Π»ΠΈΡ†Π° book ΠΈΠΌΠ΅ΡŽΡ‚ ΠΎΡ‚Π½ΠΎΡˆΠ΅Π½ΠΈΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΠ΅ ΠΊΠΎ ΠΌΠ½ΠΎΠ³ΠΈΠΌ Ρ‡Π΅Ρ€Π΅Π· Ρ‚Π°Π±Π»ΠΈΡ†Ρƒ author_books. Π― Ρ…ΠΎΡ‡Ρƒ ΠΏΠΎΠ»ΡƒΡ‡ΠΈΡ‚ΡŒ ΠΊΠΎΠ½ΠΊΡ€Π΅Ρ‚Π½ΡƒΡŽ ΠΊΠ½ΠΈΠ³Ρƒ со всСми Π°Π²Ρ‚ΠΎΡ€Π°ΠΌΠΈ. НиТС прСдставлСн Π½Π΅ΠΎΠ±Ρ€Π°Π±ΠΎΡ‚Π°Π½Π½Ρ‹ΠΉ запрос, ΠΊΠΎΡ‚ΠΎΡ€Ρ‹ΠΉ Π΄Π°Π΅Ρ‚ ΠΎΠΆΠΈΠ΄Π°Π΅ΠΌΡ‹ΠΉ Ρ€Π΅Π·ΡƒΠ»ΡŒΡ‚Π°Ρ‚. Но я Π½Π΅ понимаю, ΠΊΠ°ΠΊ ΠΏΠΎΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ этот запрос с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ Knexjs? Π›ΡŽΠ±Π°Ρ ΠΏΠΎΠΌΠΎΡ‰ΡŒ Π±ΡƒΠ΄Π΅Ρ‚ ΠΎΡ†Π΅Π½Π΅Π½Π° ΠΏΠΎ достоинству.

ΠŸΡ€ΠΈΠΌΠ΅Ρ‡Π°Π½ΠΈΠ΅: я ΠΈΡΠΏΠΎΠ»ΡŒΠ·ΡƒΡŽ Knexjs с javascript ES6.

Запрос:-

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)

ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π΄Π°ΠΉΡ‚Π΅ ΠΌΠ½Π΅ Π·Π½Π°Ρ‚ΡŒ, Ссли я Π³Π΄Π΅-Ρ‚ΠΎ ошибаюсь?

Π‘Π°ΠΌΡ‹ΠΉ ΠΏΠΎΠ»Π΅Π·Π½Ρ‹ΠΉ ΠΊΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Вопрос Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ запросы Π½Π° соСдинСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ knexjs? Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ соСдинСниС, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ с Π»Π΅Π²Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΌ соСдинСниСм с использованиСм knex, Ρ‡Ρ‚ΠΎΠ±Ρ‹ knex ΠΌΠΎΠ³ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ SQL-запрос, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Query :?

ВсС 3 ΠšΠΎΠΌΠΌΠ΅Π½Ρ‚Π°Ρ€ΠΈΠΉ

Вопрос Π² Ρ‚ΠΎΠΌ, ΠΊΠ°ΠΊ Π²Π»ΠΎΠΆΠΈΡ‚ΡŒ запросы Π½Π° соСдинСниС с ΠΏΠΎΠΌΠΎΡ‰ΡŒΡŽ knexjs? Π’Π½ΡƒΡ‚Ρ€Π΅Π½Π½Π΅Π΅ соСдинСниС, Π²Π»ΠΎΠΆΠ΅Π½Π½ΠΎΠ΅ с Π»Π΅Π²Ρ‹ΠΌ ΠΈΠ»ΠΈ ΠΏΡ€Π°Π²Ρ‹ΠΌ соСдинСниСм с использованиСм knex, Ρ‡Ρ‚ΠΎΠ±Ρ‹ knex ΠΌΠΎΠ³ ΡΡ‚Ρ€ΠΎΠΈΡ‚ΡŒ SQL-запрос, ΠΊΠ°ΠΊ ΠΏΠΎΠΊΠ°Π·Π°Π½ΠΎ Π²Ρ‹ΡˆΠ΅ Π² Ρ€Π°Π·Π΄Π΅Π»Π΅ Query :?

@saurabhghewari Π’Ρ‹ ΠΊΠΎΠ³Π΄Π°-Π½ΠΈΠ±ΡƒΠ΄ΡŒ Π½Π°Ρ…ΠΎΠ΄ΠΈΠ»ΠΈ Ρ€Π΅ΡˆΠ΅Π½ΠΈΠ΅ этого вопроса? Π― ΠΏΡ‹Ρ‚Π°ΡŽΡΡŒ ΡΠ΄Π΅Π»Π°Ρ‚ΡŒ Ρ‡Ρ‚ΠΎ-Ρ‚ΠΎ ΠΏΠΎΠ΄ΠΎΠ±Π½ΠΎΠ΅.

Π― Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠΊΠ°Π·Π°Ρ‚ΡŒ, Ρ‡Ρ‚ΠΎ Π½Π΅ ΡƒΠ²Π΅Ρ€Π΅Π½, ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°Π΅Ρ‚ Π»ΠΈ knex Π²ΠΎΠΎΠ±Ρ‰Π΅ Π²Π»ΠΎΠΆΠ΅Π½Π½Ρ‹Π΅ соСдинСния ... Π― Π½Π΅ Π²ΠΈΠ΄Π΅Π» Π½ΠΈΠΊΠ°ΠΊΠΈΡ… тСстов ΠΈΠ»ΠΈ Π΄ΠΎΠΊΡƒΠΌΠ΅Π½Ρ‚Π°Ρ†ΠΈΠΈ для этого случая, поэтому я ΠΏΠΎΡ‡Ρ‚ΠΈ ΡƒΠ²Π΅Ρ€Π΅Π½, Ρ‡Ρ‚ΠΎ ΠΎΠ½ΠΈ Π½Π΅ ΠΏΠΎΠ΄Π΄Π΅Ρ€ΠΆΠΈΠ²Π°ΡŽΡ‚ΡΡ. ΠŸΠΎΠΆΠ°Π»ΡƒΠΉΡΡ‚Π°, Π΄ΠΎΠ±Π°Π²ΡŒΡ‚Π΅ запрос Ρ„ΡƒΠ½ΠΊΡ†ΠΈΠΈ для этого.

Π‘Ρ‹Π»Π° Π»ΠΈ эта страница ΠΏΠΎΠ»Π΅Π·Π½ΠΎΠΉ?
0 / 5 - 0 Ρ€Π΅ΠΉΡ‚ΠΈΠ½Π³ΠΈ