Альтернативным, более стабильным способом реализации ситуации, когда обе сущности независимы, было бы полное удаление внешнего ключа из Person и создание таблицы соединения group_persons. Таким образом, вам не придется беспокоиться о ссылочной целостности при удалении группы. При удалении группы связь будет удалена из group_persons.
Таблица будет выглядеть так
id, group_id, person_id
Модель group_persons будет выглядеть так
Person hasMany GroupPerson
Group hasMany GroupPerson
GroupPerson belongsTo Person, Group
Если вы хотите, чтобы это лицо могло быть одновременно только в одной группе, задайте уникальное правило проверки в GroupPerson.
var $validate=array(
'person_id'=>array(
array(
'rule'=>'isUnique',
'message'=>'This person is already in a group.'
)
)
);