我有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