Knex: juntando várias mesas

Criado em 28 ago. 2014  ·  3Comentários  ·  Fonte: knex/knex

Não vejo nenhum documento ou exemplo de adesão a mais de uma mesa. Isso é possível apenas encadeando .join chamadas?

question

Comentários muito úteis

A união de encadeamento (união de várias tabelas) no knex é possível.

Por exemplo:

var knex = require('./db')
knex('follow')
.join('users as u1', 'u1.id', 'follow.follower')
.join('users as u2', 'u2.id', 'follow.followee')
.select('u1.username as follower_name', 'u2.username as followee_name')
.then(follows => {
  follows.map((follow) => {
    console.log(follow.follower_name + " -> " + follow.followee_name);
  })
})

Todos 3 comentários

Sim

A união de encadeamento (união de várias tabelas) no knex é possível.

Por exemplo:

var knex = require('./db')
knex('follow')
.join('users as u1', 'u1.id', 'follow.follower')
.join('users as u2', 'u2.id', 'follow.followee')
.select('u1.username as follower_name', 'u2.username as followee_name')
.then(follows => {
  follows.map((follow) => {
    console.log(follow.follower_name + " -> " + follow.followee_name);
  })
})

@ guanzhou-zhao como isso pode ser mapeado para lool assim ...

{
 "userId": 1,
 ...
 "followers": [
  {"userId": 2, ...},
  ...
]
}
Esta página foi útil?
0 / 5 - 0 avaliações

Questões relacionadas

PaulOlteanu picture PaulOlteanu  ·  3Comentários

fsebbah picture fsebbah  ·  3Comentários

aj0strow picture aj0strow  ·  3Comentários

olaferlandsen picture olaferlandsen  ·  3Comentários

hyperh picture hyperh  ·  3Comentários