Как в QSqlRelationalTableModel получить значение FK?
столкнулся с такой проблемой:
есть 2 таблицы:
Table1
ID(PK)
NAME
___
Table 2
ID(PK)
ID_TABLE1
устанавливаю связь с первой таблицей
model->setRelation( 1, QSqlRelation( "Table1", "ID", "NAME" ) );
model->select();
model->relationModel(1)->select();
и мне нужно получить FK из модели до отправки БД.
пробовал
model->setRelation( 1, QSqlRelation(" Table1", "ID", "NAME,ID_TABLE1 as ID_TABLE1 " ) );
но в таком случае выпадающий список пустой
был вариант тянуть из первой таблицы с помощью
model->relationModel(1)->record(/*index?*/).value("ID").toString();
но для этого нужно знать номер строки, в которой находится запись в первой таблице.
есть предположение, что можно получить этот номер из выпадающего списка relation, но ума не приложу как.
Недавно решал такую задачу. Пришел к выводу, что надо делать форк библиотеки Qt , у меня 4.8.1.
QSqlRelationalTableModel просто не успели довести до ума, как мне кажется. А поскольку потом qt перепродали несколько раз, то вполне возможно что и не стояло задачи что-то дорабатывать впоследствие...