Я пытаюсь создать страницу в своем приложении, которая показывает список самых популярных событий для перехода.События, которые наиболее «заинтересованы» и «собираются» результаты.
Я использую knex и sqlite3 для своей базы данных, и в настоящее время у меня есть таблицы соединений для пользователей и интересующих их событий, а также еще одна для пользователя и событий, на которые они собираются.
Как бы я структурировал страницу так, чтобы она возвращала больше всего событий?Нужно ли добавлять какой-то столбец подсчета в таблицу событий и возвращать события с наибольшим количеством (имея функцию, что при каждом выборе счетчик увеличивается ...)?
Я в основномне знаю, с чего начать / как подойти к этому.
Спасибо!
Вот как структурированы мои данные:
Таблица событий:
exports.up = (knex, Promise) => {
return knex.schema.hasTable('events').then(function (exists) {
if (!exists) {
return knex.schema.createTable('events', (table) => {
table.increments('id').primary()
table.string('eventName')
table.date('date_start')
table.string('time_start')
table.date('date_end')
table.string('time_end')
table.string('image')
table.string('description')
table.string('access')
table.string('tickets')
table.string('restrictions')
table.string('eventType')
})
}
})
}
exports.down = (knex, Promise) => {
return knex.schema.dropTable('events')
}
Данные семени: user_goingto_events
exports.seed = function(knex, Promise) {
// Deletes ALL existing entries
return knex('user_goingto_events').del()
.then(function () {
// Inserts seed entries
return knex('user_goingto_events').insert([
{id: 1, user_id: 1, event_id: 1},
{id: 2, user_id: 1, event_id: 2},
{id: 3, user_id: 1, event_id: 3},
{id: 4, user_id: 2, event_id: 4},
{id: 5, user_id: 2, event_id: 5},
{id: 6, user_id: 2, event_id: 6}
])
})
}
Данные семени: user_interestedin_events
exports.seed = function(knex, Promise) {
// Deletes ALL existing entries
return knex('user_interestedin_events').del()
.then(function () {
// Inserts seed entries
return knex('user_interestedin_events').insert([
{id: 1, user_id: 1, event_id: 4},
{id: 2, user_id: 1, event_id: 5},
{id: 3, user_id: 1, event_id: 6},
{id: 4, user_id: 2, event_id: 1},
{id: 5, user_id: 2, event_id: 2},
{id: 6, user_id: 2, event_id: 3}
])
})
}