Таким образом, на английском языке отношение будет звучать как «Это событие связано со следующими другими событиями».
Мой первый инстинкт - создать модель EventEvent
с полем first_event_id
и полем second_event_id
. Тогда я бы определил следующие два отношения в модели Event
:
$this->hasMany('Event as FirstRelatedEvents', array('local' => 'first_event_id', 'foreign' => 'second_event_id', 'refClass' => 'EventEvent'));
$this->hasMany('Event as SecondRelatedEvents', array('local' => 'second_event_id', 'foreign' => 'first_event_id', 'refClass' => 'EventEvent'));
Но я бы предпочел не использовать два отношения в модели Event
. Есть ли лучший способ сделать это?