Revision 6d91d381
Von Christian Ehringfeld vor mehr als 10 Jahren hinzugefügt
| src/entitymanager.h | ||
|---|---|---|
|
QList<QHash<QString, QVariant> > findAll(const QSharedPointer<Entity> &e);
|
||
|
void resolveRelations(const QSharedPointer<Entity> &entity,
|
||
|
const QHash<QString, QVariant> &map, const bool refresh = false);
|
||
|
QHash<QString, QVariant> findByPk(const QSharedPointer<Entity> &e);
|
||
|
QHash<QString, QVariant> findByPk(qint64 id, const QSharedPointer<Entity> &e);
|
||
|
QSharedPointer<Entity> convert(const QHash<QString, QVariant> &map,
|
||
|
const char *classname, const bool refresh = false);
|
||
|
QList<QSharedPointer<Entity>> convert(QList<QHash<QString, QVariant> > maps,
|
||
| ... | ... | |
|
}
|
||
|
|
||
|
template<class T> QList<QSharedPointer<Entity>> findAll() {
|
||
|
QSharedPointer<Entity> ptr = QSharedPointer<Entity>(EntityInstanceFactory::createInstance<T>());
|
||
|
if (!ptr.isNull()) {
|
||
|
QSharedPointer<Entity> ptr = QSharedPointer<Entity>
|
||
|
(EntityInstanceFactory::createInstance<T>());
|
||
|
if (ptr) {
|
||
|
auto maps = this->findAll(ptr);
|
||
|
const char *className = ptr.data()->getClassname();
|
||
|
return this->convert(maps, className);
|
||
Auch abrufbar als: Unified diff
some bug fixes, caching works