Мне нужно назначить больницы группе. Я решил сделать это через habtm.Подсчет текущих отношений HABTM. CakePHP
class FavoriteHospital extends AppModel {
public $actsAs = array('Containable');
...
var $hasAndBelongsToMany = array(
'Hospital' => array(
'className' => 'Hospital',
'joinTable' => 'favorite_hospitals_hospital',
'foreignKey' => 'favorite_hospital_id',
'associationForeignKey' => 'hospital_id',
'unique' => false,
)
);
}
Существует требование, чтобы ограничить число больниц в группе до 10. Таким образом, я могу установить связь с ложным, потому что поведение по умолчанию просто удаляет ассоциации. Я решил начать с тестированием возможности добавлять в больницу, используя метод ....
public function addHospital($gid, $hid) {
$this->data['Hospital']['id'] = $hid;
$this->data['FavoriteHospital']['id'] = $gid;
if($this->save($this->data)){return true;}
return false;
}
Теперь, выше добавляет ассоциацию правильно, это здорово, но каждый раз, когда я пытаюсь найти способ, чтобы сосчитать количество существующих ассоциаций, я ударил кирпичную стену.
Существует вторичная проблема с вышеуказанным, и это то, что она также позволяет дублировать.