Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/162.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/69.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 如何在QxORM中定义具有多个主键的表,其中一个是;“多对一”;与其他表的关系_C++_Sql_Qt_Qxorm - Fatal编程技术网

C++ 如何在QxORM中定义具有多个主键的表,其中一个是;“多对一”;与其他表的关系

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

定义具有多个主键的表(“secondtable”)的正确方法是什么,其中一个(“first_table_key”)是与另一个表(“firsttable”)的“多对一”关系

这不起作用,因为“第一个表\u键”有多个定义

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()方法输入关系的正确名称