Ben daha önce basit görünüyordu şey geldim ama beni tekrar başımı çizilmeye oldu. Ben kullanıcıları için bir tablo var:
user_id (PK) | username| email | something
... Ve bir kullanıcı başka bir kullanıcı inceledi zaman için "görünümler" için bir tablo:
view_id (PK) | viewer_id | viewed_id | view_date
"Viewer_id" ve "viewed_id" Bir kullanıcı izleyici veya incelenirken biri iken beni örnekleri için ayrı ayrı aramak için izin, hem user_ids vardır.
Ben başlangıçta bu sütunların her ikisi de yabancı anahtarlar olacağını düşündüm, ama benim schema.yml dosyasında tabloları oluşturulmuş olan (I Doktrini 1.2 kullanıyorum) ve iki ayrı dış ilişkileri (her sütun için bir) belirtilmiş, bu Doktrin sadece alır gibi görünüyor dikkate bu iki tablo arasındaki ilk listelenen yabancı ilişki (User_id> viewer_id).
Bu doğru bir davranış MySQL, Doktrini bir sorun, ya da ben bu ulaşıyorum bir şekilde bir sorun, ya da endişelenecek bir şey olup olmadığını şimdi bana karıştı var! Başka bir tablodaki aynı sütun eşleştirilir bir tablodan iki ayrı yabancı anahtarlar olabilir mi? Bu verilen, hatta mantıklı bir hala user_id aracılığıyla bana "views" erişim verecek JOIN? Yanlış var mı?
Zaman ayırdığınız için teşekkürler.
EDIT - The schema file:
User:
relations:
View: {class: View, local: user_id, foreign: viewer_id, type: many, foreignType: one, alias: View, foreignAlias: User}
View: {class: View, local: user_id, foreign: viewed_id, type: many, foreignType: one, alias: View, foreignAlias: User}
... only difference is viewer_id/viewed_id