Добрый день.
По долгу службы столкнулся с CakePHP. В модели нужно определить связи между таблицами. Делаю это так:
var $belongsTo = array(
'User' => array(
'className' => 'User',
'foreignKey' => 'user_id',
'conditions' => '',
'fields' => '',
'order' => ''
),
'Question' => array(
'className' => 'Question',
'foreignKey' => 'question_id',
'conditions' => '',
'fields' => '',
'order' => '',
'counterCache' => true,
'counterScope' => array('Answer.status' => 1),
),
'Spamlist' => array(
'className' => 'Spamlist',
'foreignKey' => 'id',
'associationForeignKey' => 'object_id',
'conditions' => array('Spamlist.object_type' => 'Answer'),
'fields' => '',
'order' => '',
),
);
Всё работает. Кроме одного, а именно: 'associationForeignKey' => 'object_id', таким образом я пытаюсь указать конкретное поле в другой таблице, но почему-то это не срабатывает. Выходит следующий SQL-запрос:
LEFT JOIN `spamlists` AS `Spamlist` ON (`Answer`.`id` = `Spamlist`.`id` AND `Spamlist`.`object_type` = 'Answer')
Почему он всё равно пытается связать с 'id'?