我刚刚创建了一个新项目,这个模型和下面的灯具:
culture:
id: ~
code: { type: CHAR, size: 6, default: 'it', required: true }
text: { type: VARCHAR, size: 50, default: 'italiano',
required: true }
folder_prod: { type: VARCHAR, size: 50, default: 'italian',
required: true }
sediOK:
id: ~
culture_id: { type: integer, required: true,
foreignTable: culture, foreignReference: id }
nations_id: { type: integer, required: true,
foreignTable: nations, foreignReference: id }
paese_indirizzo: { type: varchar(32), required: true }
ufficio: { type: varchar(64), required: true}
indirizzo: { type: longvarchar, required: true }
culture:
italiano: {code: "it", text: "italiano", folder_prod: "italian" }
frencese: {code: "fr", text: "francese", folder_prod: "francoise" }
inglese: {code: "en", text: "inglese", folder_prod: "english" }
sediOK:
sede_roma_1_italiano: { culture_id: 1, nations_id: 105,
paese_indirizzo: Italia, ufficio: "Ufficio 1:", indirizzo:
"XXXXX" }
sede_roma_1_francese: { culture_id: 2, nations_id: 105,
paese_indirizzo: Italia, ufficio: "Rome Office 1:", indirizzo:
"XXXX" }
sede_roma_1_spagnolo: { culture_id: 4, nations_id: 105,
paese_indirizzo: Italia, ufficio: "Oficina 1", indirizzo:
"xxxx" }
当我propel:build-all-load
时,它说:
“文化”课程中的对象“1”是 未在您的数据文件中定义。
所以它不是插入文化设备,但我不知道为什么......如果我
删除沉淀模型和夹具,然后build-all-load
文化装置插好了。
有什么想法吗?
哈维
答案 0 :(得分:3)
culture_id: 1
,culture_id: 2
和culture_id: 4
的引用未在上述灯具中定义 - 您需要设置sediOK
灯具以通过其标识符引用文化,不是他们在数据库中的ID。
因此,对于您的示例,“内部”夹具ID是italiano,frencese和inglese。将您的行culture_id: 1
,culture_id: 2
和culture_id: 4
分别更改为culture_id: italiano
,culture_id: frencese
和culture_id: inglese
。
Read the book了解有关此语法的更多详细信息。