is_primary
является функцией событий, а не таблицы HABTM, с которой вы пытаетесь связать ее.HABTM связывает события и категории, а не события с событиями.is_primary
должен храниться в таблице событий.Затем вам нужно связать вложенные события с их основным событием.Вот как это сделать.
1- Добавьте поле is_primary
к таблице events
и сделайте его логическим.
2 - Добавьте primary_event_id
к таблице events
.(Это будет содержать значение, только если событие является под-событием.)
3- Создайте связь между events
и самим собой в модели событий.(http://book.cakephp.org/view/851/Multiple-relations-to-the-same-model) Это позволит использовать собственные ссылки, чтобы вы могли ссылаться на под-события на их основное событие.
Как только вы получите идентификатор интересующего вас события, вы можете выполнить запросы, чтобы найтииз под-событий:
$this->Event->find('all', array('conditions' => array('primary_event_id' => $id)));
Это вернет список всех под-событий.