просто измените модель поста primaryKey на лету для некоторых операций, которые вам нужны .... Для этого просто нужно сделать $ this-> primaryKey = 'other_id' ИЛИ в контроллере $ this-> Post->primaryKey = 'other_id'
, который бы сработал.
Но помните, что если вы извлекаете данные из всех ассоциаций и у вас больше ассоциаций, чем у этой, то другие ассоциации, если они используют Post.id, потерпят неудачу, поскольку первичный ключ - Post.other_id
Вы должны сделать функцию поиска в своих пост-моделях, когда вы используете этот союз, что-то вроде этого:
function otherFind ($type, $options){
$this->primaryKey = 'other_id';
$result = $this->find($type, $options);
$this->primaryKey = 'id';
return $result;
}
, если вам нужно объединить его с другими моделями, становится немного сложнее, я рекомендуючтобы использовать соединения для этого (попробуйте взглянуть на связываемый код bhaviour, чтобы узнать, как это сделать)
Я настоятельно рекомендую использовать только ОДИН первичный ключ, поскольку второй не очень полезен.В любом случае первичный ключ должен быть уникальным, и вы можете связать что угодно только с одним.