C++ 如何在QxORM中定义具有多个主键的表,其中一个是;“多对一”;与其他表的关系
定义具有多个主键的表(“secondtable”)的正确方法是什么,其中一个(“first_table_key”)是与另一个表(“firsttable”)的“多对一”关系 这不起作用,因为“第一个表\u键”有多个定义C++ 如何在QxORM中定义具有多个主键的表,其中一个是;“多对一”;与其他表的关系,c++,sql,qt,qxorm,C++,Sql,Qt,Qxorm,定义具有多个主键的表(“secondtable”)的正确方法是什么,其中一个(“first_table_key”)是与另一个表(“firsttable”)的“多对一”关系 这不起作用,因为“第一个表\u键”有多个定义 namespace qx { template <> void register_class(QxClass<secondtable> & t) { t.id(&secondtable::m_id, “second_table _ke
namespace qx
{
template <> void register_class(QxClass<secondtable> & t)
{
t.id(&secondtable::m_id, “second_table _key|first_table_key”);
t.data(&secondtable::m_text, "second_table_text");
t.relationManyToOne(&secondtable::m_firsttable, “first_table_key”);
}
}
名称空间qx
{
模板无效寄存器类(QxClass&t)
{
t、 id(&secondtable::m_id,“第二个_表_键|第一个_表_键”);
t、 数据(&secondtable::m_text,“second_table_text”);
t、 关系manytone(&secondtable::m_firsttable,“first_table_key”);
}
}
试试这个:
namespace qx
{
template <> void register_class(QxClass<secondtable> & t)
{
t.id(&secondtable::m_id, “second_table _key|first_table_key”);
t.data(&secondtable::m_text, "second_table_text");
qx::IxSqlRelation * pRelation = t.relationManyToOne(&secondtable::m_firsttable, “first_table”);
pRelation->getDataMember()->setName("first_table_key");
}
}
名称空间qx
{
模板无效寄存器类(QxClass&t)
{
t、 id(&secondtable::m_id,“第二个_表_键|第一个_表_键”);
t、 数据(&secondtable::m_text,“second_table_text”);
qx::IxSqlRelation*pRelation=t.relationmanytone(&secondtable::m_firsttable,“first_table”);
预置->getDataMember()->setName(“第一个表键”);
}
}
如您所见,您可以定义与另一个键(first_table)的关系,该键与主键(first_table_key)不同。然后,使用pRelation->getDataMember()->setName()方法输入关系的正确名称