2016-07-02 3 views
0

Я сделал новую БД, субъекты присутствуют в следующей схеме:Android GreenDao

Entity image =schema.addEntity("Image"); 
    image.setTableName("Images"); 
    image.addStringProperty("id").primaryKey(); 
    image.addStringProperty("url"); 


    Entity community = schema.addEntity("Community"); 
    community.setTableName("Communities"); 
    community.addStringProperty("id").primaryKey(); 
    community.addStringProperty("title"); 
    community.addStringProperty("imageId"); 


    Entity user=schema.addEntity("User"); 
    user.setTableName("Users"); 
    user.addStringProperty("id").primaryKey(); 
    user.addStringProperty("fullName"); 
    user.addStringProperty("imageId"); 

    Entity relation=schema.addEntity("Relation"); 
    relation.addStringProperty("userId"); 
    relation.addStringProperty("communityId"); 

возможно в GreenDao вернуть весь объект изображение, а не только ImageID?

ответ

0

Insetad установки в ImageID в виде строки, вы должны построить отношения с .addToOne так:

Property imageIdProperty = user.addLongProperty("imageId").getProperty(); 
user.addToOne(image, imageIdProperty); 

с user.getPicture() вы должны быть в состоянии получить изображение как объект изображения вместо от id.

EDIT: Если у пользователя должно быть несколько изображений, используйте отношение ToMany. Вы можете увидеть, как это делается в greendao документации http://greenrobot.org/greendao/documentation/relations/

Для вас отношения попробуйте использовать ToMany Relation так:

Property communityId = user.addLongProperty("communityId").getProperty(); 
ToMany communityToUsers = community.addToMany(user, communityId); 

с community.getUsers() вы должны получить все пользователи в этом сообществе

+0

Спасибо за изображение, скажите, пожалуйста, также, если таблица с отношениями одобрена или мне нужно реализовать ToMany также для пользователей и сообщества, потому что пользователь может быть во многих сообществах, а сообщество может содержать много пользователей? – vasile

+0

Я добавил решение для вашего отношения к сообществу – babadaba

+0

Большое спасибо – vasile

Смежные вопросы