Go to file
Hamed Masafi 068cc1980c Readme 2016-05-12 11:02:50 +04:30
include First commit 2016-05-12 10:38:58 +04:30
src First commit 2016-05-12 10:38:58 +04:30
test First commit 2016-05-12 10:38:58 +04:30
.gitignore Initial commit 2016-03-09 11:05:49 +03:30
LICENSE Initial commit 2016-03-09 11:05:49 +03:30
README.md Readme 2016-05-12 11:02:50 +04:30
nut.pri First commit 2016-05-12 10:38:58 +04:30

README.md

Nut

Advanced, Powerful and easy to use ORM for Qt5

Features:

  • Easy to use
  • Automatically create and update database
  • IDE auto complete support
  • Table join detect

Sample Codes

Read data from database:

    auto q = FROM(db.posts())
            WHERE(Post::id() == %1)
            BIND(postId);
    auto posts = q->toList();
    // now posts is a QList<Post*> contain all posts in
    //  database that has id equal to postId variable

Adding to database:

    Post *newPost = new Post;
    newPost->setTitle("post title");
    
    db.posts()->append(newPost);
    
    for(int i = 0 ; i < 3; i++){
        Comment *comment = new Comment;
        comment->setMessage("comment #" + QString::number(i));
		
        newPost->comments()->append(comment);
    }
    db.saveChanges();

Modify database data:

auto q = FROM(db.posts())
            WHERE(Post::id() == %1)
            BIND(postId);

    Post *post = q->first();

    if(post = 0) {
        post->setTitle("new name");
        db.saveChanges();
    } else {
        qWarning("No post found!");
    }