LINUX.ORG.RU

[CakePHP, знатокам] $belongsTo & associationForeignKey


0

1

Добрый день.

По долгу службы столкнулся с 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'?

★★★
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.