Duruma göre değişir. Eğer yapmak istediğiniz tüm kullanıcılar arasındaki ilişkileri oluşturmak ise o zaman sadece bir habtm kullanabilirsiniz. Eğer ilişkinin kendisi hakkında daha fazla bilgi saklamak istiyorsanız o zaman ayrı bir nesne yapmak isteyebilirsiniz. Örneğin, belki de iki kullanıcı var ne tür bir ilişki saklamak istiyorum. Arkadaş mı? Co-işçi? Parters?
Bu durumda ayrı bir ilişki veya İletişim nesnesi oluşturabilirsiniz. Sonra, Kullanıcı hasMany İletişim ve her İletişim belongsTo iki Kullanıcılar. Bu temelde elle HABTM ilişki oluşturma gibi aynıdır, ancak ilişki kendisi artık ayrı bir model (yani İletişim) çünkü bunu ekstra bilgi saklayabilirsiniz.