hasMany and habtm need different handling
self-relation fix