我有3个表:QSqlRelationalTableModel - 两个引用同一个表,相同的外键
我想显示订单表(订单的开始日期和结束日期,用户的最后名称,服务名称和服务价格)在GUI上使用QTableView
和QSqlRelationalTableModel
。这里就是我设置表和视图:
this->ordersTable = new QTableView(this);
this->model = new QSqlRelationalTableModel(this, db->getDB());
this->model->setTable("ORDERS");
this->model->setRelation(3, QSqlRelation("USERS", "id", "lastname"));
this->model->setRelation(4, QSqlRelation("SERVICE", "id", "name"));
this->model->setRelation(4, QSqlRelation("SERVICE", "id", "price"));
this->model->select();
this->ordersTable->setModel(this->model);
this->ordersTable->hideColumn(0);
但是当我做第三setRelation
电话,现在看来,它覆盖了第二个电话:我只能看到在GUI的价格,而不是名字,同时也是价格。我需要将两个字段 - 服务表中的名称和价格放到我的视图中。
这可能是解决方案,但是,我忘了提,我需要在DB的变化,以及文档说'的QSqlQueryModel类提供了一个读 - 仅用于SQL结果集的数据模型,因此,我需要一些不会是只读的。不管怎么说,还是要谢谢你 :) – yak