Пытались ли вы указать класс и ключ, когда указали hasMany (и, в этом смысле, принадлежат)?
var $hasMany = array( 'Sitekey' => array(
'className' => 'Site',
'foreignKey' => 'site_id'
));
Для меня это происходит, когда Inflector неправильно не единолизирует и не приумножает ваши существительные,Я установил практику, чтобы всегда проверять это в первую очередь.
Если это работает, то в теории вы должны посмотреть, почему он не распознает это.Создайте другую модель Bar (или другое известное ей слово) и дайте ей те же ассоциации, что и у sitekey, и посмотрите, работает ли она на вашем сайте.Если это так, опять же, скорее всего, это инфлектор на Sitekey.