Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 98b5b08d

Von Christian Ehringfeld vor fast 9 Jahren hinzugefügt

  • ID 98b5b08d556ae71b8e0c858aed58f41ede9f28ed
  • Vorgänger 244c6d53
  • Nachfolger 5c53ac99

more many to many wip

Unterschiede anzeigen:

src/querybuilder.cpp
secondEntity.data()->metaObject()->className()).toLower();
}
QString QueryBuilder::manyToManyTableName(const QSharedPointer<Entity>
&firstEntity, const QSharedPointer<Entity> &secondEntity,
const Relation &r) const {
QString table = "";
if (r.getMappedBy().isEmpty()) {
table = this->generateManyToManyTableName(firstEntity, secondEntity);
} else {
table = this->generateManyToManyTableName(secondEntity, firstEntity);
}
return table;
}
QHash<QString, QHash<QString, QString>> QueryBuilder::generateRelationTables(
const QSharedPointer<Entity> &entity)
const {
......
const qint64 &id,
const QString &foreignKey, const QString &foreignTable) {
QSqlQuery q = this->database.data()->getQuery();
QString sql = "SELECT " + this->schema.data()->quoteTableName(
QString sql = "SELECT " +
this->schema.data()->quoteTableName(
foreignTable) + ".* FROM " +
this->schema.data()->quoteTableName(tableName) + " " + this->leftJoin(
foreignTable, tableName,
......
return q;
}
QSqlQuery QueryBuilder::manyToManyDelete(const QString &tableName,
const QString &attribute, const qint64 &id) {
QSqlQuery q = this->database.data()->getQuery();
QString sql = "DELETE FROM " + this->schema.data()->quoteTableName(
tableName) + " WHERE " + this->schema.data()->quoteColumnName(
attribute) + "=:id";
q.prepare(sql);
q.bindValue(":id", id);
return q;
}
QSqlQuery QueryBuilder::manyToManyInsert(const QString &tableName,
const QString &col1, const QString &col2) const {
QSqlQuery q = this->database.data()->getQuery();
QString sql = "INSERT INTO " + this->schema.data()->quoteTableName(
tableName) + "(" + col1 + "," + col2 + ")"
+ "VALUES(?, ?);";
q.prepare(sql);
return q;
}
QString QueryBuilder::leftJoin(const QString &foreignTable,
const QString &tableName,

Auch abrufbar als: Unified diff