问题描述
我在一个应用程序上工作,用户可以设计自己的自定义表单。我正在使用Sequelize和Postgress。
它具有一个在线表单,用户可以在其中创建其自定义表单。我有两个实体,其中应显示事件和事件类型的表单。
我已使用以下文章对Form Builder进行建模:
Event
-------
id
name
typeId (FK to eventType.id)
Event Type
-----
id (PK)
name
Form_elements
-------------
id (PK)
eventType_id (FK to eventType.id)
element_type_id (FK to element_types.id)
Element_types
-------------
id (PK)
name
Element_list_values
-------------------
id (PK)
element_id (FK to form_elements.id)
event_id (FK to event.id)
value
当用户在“添加或编辑表单”上时,如何通过选择查询从表单字段和该模式的field_values生成表?
我尝试了以下代码:
formField.findAll({
where: {
eventTypeId: typeId,},include: [{
model: formFieldType,{
model: formFieldValue,as: 'FormFieldValues',}],});
但我不断得到:
SequelizeEagerLoadingError:formFieldValue与formField不关联!
这是我的模型关联:
EventType.hasMany(FormField);
FormField.belongsTo(EventType);
FieldType.hasMany(FormField,{ foreignKey: 'typeId',as: 'type' });
FormField.belongsTo(FieldType,{ foreignKey: 'typeId' });
// field value
Event.belongsToMany(FormField,{ through: 'formFieldValues',foreignKey: 'event_id' });
FormField.belongsToMany(Event,foreignKey: 'field_id' });
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)