Ваши имена таблиц верны.Есть много способов сделать это:
Использовать поведение Containable
В вашей AppModel установите следующее:
var $recursive = -1;
var $actsAs = array('Containable');
Затем используйтеследующий код для запроса ваших серверов:
$userWithServers = $this->User->find('all', array(
'conditions' => array('User.id' => 1),
'contain' => array('Server')
));
Обратите внимание, что мы запрашиваем модель User вместо модели Server, чтобы выполнить это.
Используйте bindModel
$this->Server->bindModel(array('hasOne' => array('UsersServer')));
$this->Server->find('all', array(
'fields' => array('Server.*'),
'conditions' => array('Server.user_id' => 1)
));
Лично я не рекомендую часто использовать bindModel.В конце концов, ваш код становится немного неуправляемым.Вы должны по возможности использовать контейнерное поведение.Код выглядит чище и проще.Подробнее о методе bindModel можно узнать здесь .
HTH.