Sistem-Pakar-Diagnosa-Penya.../backend/models/rule.js

71 lines
1.5 KiB
JavaScript

const { Model, DataTypes } = require('sequelize');
module.exports = (sequelize) => {
class Rule extends Model {
static associate(models) {
// Asosiasi dengan model Gejala
Rule.belongsTo(models.Gejala, {
foreignKey: 'id_gejala',
as: 'gejala', // Nama asosiasi yang bisa digunakan saat melakukan query
});
// Asosiasi dengan model Penyakit
Rule.belongsTo(models.Penyakit, {
foreignKey: 'id_penyakit',
as: 'penyakit',
});
// Asosiasi dengan model Hama
Rule.belongsTo(models.Hama, {
foreignKey: 'id_hama',
as: 'hama',
});
}
}
Rule.init(
{
id_gejala: {
type: DataTypes.INTEGER,
allowNull: true,
references: {
model: 'gejala', // Mengacu ke tabel 'gejala'
key: 'id', // Mengacu ke kolom 'id' pada tabel 'gejala'
},
},
nilai_pakar: {
type: DataTypes.FLOAT,
allowNull: false,
},
id_penyakit: {
type: DataTypes.INTEGER,
allowNull: true,
references: {
model: 'penyakit', // Mengacu ke tabel 'penyakit'
key: 'id', // Mengacu ke kolom 'id' pada tabel 'penyakit'
},
},
id_hama: {
type: DataTypes.INTEGER,
allowNull: true,
references: {
model: 'hama', // Mengacu ke tabel 'hama'
key: 'id', // Mengacu ke kolom 'id' pada tabel 'hama'
},
},
},
{
sequelize,
modelName: 'Rule',
tableName: 'rules',
timestamps: false,
paranoid: false,
}
);
return Rule;
}