Projekt

Allgemein

Profil

« Zurück | Weiter » 

Revision 5c53ac99

Von Christian Ehringfeld vor fast 9 Jahren hinzugefügt

  • ID 5c53ac99e56ec85b389687ae9b746904eeb94a28
  • Vorgänger 98b5b08d
  • Nachfolger 91ed1164

oops not compiling

Unterschiede anzeigen:

src/entitymanager.cpp
qvariant_cast<QList<QSharedPointer<Entity>>>(property);
if (!list.isEmpty()) {
auto ptr = list.at(0);
auto builder = this->schema.data()->getQueryBuilder();
QString tblName = builder.data()->generateManyToManyTableName(entity, ptr);
if (this->schema.data()->getTables().contains(tblName)) {
QSqlQuery q = this->schema.data()->getQueryBuilder().data()->manyToManyDelete(
QSqlQuery q = builder.data()->manyToManyDelete(
tblName, builder.data()->generateManyToManyColumnName(entity),
entity.data()->getId());
if (this->db.data()->transaction(q)) {
q.clear();
QList<QSharedPointer<Entity>> persisted = QList<QSharedPointer<Entity>>();
q = this->schema.data()->getQueryBuilder().data()->manyToManyInsert(tblName,
builder.data()->generateManyToManyColumnName(entity),
builder.data()->generateManyToManyColumnName(ptr));
q = builder.data()->manyToManyInsert(tblName,
builder.data()->generateManyToManyColumnName(entity),
builder.data()->generateManyToManyColumnName(ptr));
q.bindValue(0, entity.data()->getId());
for (int var = 0; var < list.size(); ++var) {
ptr = list.at(var);
if (ptr.data() && ((ptr.data()->getId() > -1 && r.getCascadeType() == MERGE)
|| r.getCascadeType() == ALL || r.getCascadeType() == PERSIST)) {
if (this->save(list.at(var))) {
if (this->save(ptr)) {
persisted.append(ptr);
}
}
src/querybuilder.h
#include <QSharedPointer>
#include <QPointer>
#include <QSqlQuery>
#include "relation.h"
namespace CuteEntityManager {
class Schema;
class Entity;

Auch abrufbar als: Unified diff