Сначала необходимо определить Model
, а затем использовать его для запроса Instance
модели (или массива Instance
с).Имена столбцов выводятся из определения модели, или вы можете указать их с помощью attributes
.Используйте include
для объединения других таблиц.
Модели
/* Define `Models` for Page, PageType, Exam, and Menu and
create associations/relationships between them */
const PageType = sequelize.define(
'page_type',
{ /* define fields */ },
{ /* define options */ }
);
module.exports = PageType;
const Exam = sequelize.define(
'exam',
{ /* define fields */ },
{ /* define options */ }
);
module.exports = Exam;
const Menu = sequelize.define(
'menu',
{ /* define fields */ },
{ /* define options */ }
);
module.exports = Menu;
// ...add additional Models
const Page = sequelize.define(
'page',
{ /* define fields */ },
{ /* define options */ }
);
// add relationships to other models
Page.associate = (models) => {
Page.belongsTo(models.PageType);
Page.hasMany(models.Exam);
Page.hasMany(models.Menu);
// ...additional relationships
};
module.exports = Page;
Запрос
// Query using the following syntax
const pages = await Page.findAll({
attributes : ['page_id', 'page_title', 'is_published', 'created_date', 'status_id'],
include: [
{
model: PageType,
attributes : ['page_type_name'],
},
{
model: Exam,
attributes : ['exam_id', 'exam_name'],
},
{
model: Menu,
attributes : ['name'],
},
],
});