CakePHP aynı masada HABTM ilişki

1 Cevap php

Ben insanların rehber listesindeki diğer insanlar için mümkün olacağını bir sosyal ağ tarzı web sitesi modelleme oldu, ben aynı tablo yani Kanala bir HABTM ilişki olarak bu ilişkiyi modellemek istedim, bu iyi bir fikir mi? ya da bunu yapmak için daha iyi bir yolu var mı?

1 Cevap

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.