2016-09-09 6 views
1

Я изучаю knex прямо сейчас и пытаюсь динамически вставлять номера идентификаторов из двух разных таблиц в пустую таблицу, которые позже будут использоваться в качестве таблицы соединений.use knex для динамического создания таблицы соединений

Это то, что у меня есть до сих пор, но я чувствую, что сейчас нахожусь вне базы.

exports.seed = function(knex, Promise) { 
    return knex('future_join_table').del() 
     .then(function() { 
     return Promise.all([ 
     // Inserts seed entries 
     knex('future_join_table').insert({ 
      first_id: knex('table1').select('id'), 
      second_id: knex('table2').select('id') 
     }) 
     ]); 
    }); 
}; 

ответ

0
exports.seed = (knex) => { 
    let table1Array = []; 
    const toBeInsertRows = [] 
    return knex('future_join_table').del() 
    .then(() => knex.select('id').from('table1')) 
    .then((rows) => { 
    table1Array = rows; 
    return knex.select('id').from('table2') 
    }) 
    .then((rows) => { 
    rows.forEach((row, index) => toBeInsertRows.push({ first_id: table1Array[index].id, second_id: row.id })) 
    return knex('future_join_table').insert(toBeInsertRows); 
    }); 
} 

Код выше предположить ваш table1 и table2 имеют одинаковое количество товара.

Я не знаю, почему бы вам сделать средний стол таким образом, но до сих пор мы не можем выполнить какую-либо операцию операции соединения с вашей информацией.

 Смежные вопросы

  • Нет связанных вопросов^_^