Я работаю над приложением CakePHP 1.2. У меня есть модель «Пользователь», определенная с несколькими отношениями HABTM с другими таблицами через таблицу соединений.Как мне запрашивать данные в CakePHP, используя отношения HABTM?
Теперь мне поручено находить информацию о пользователе на основе данных, хранящихся в одной из этих таблиц HABTM. К сожалению, когда запрос выполняется, мое условие отклоняется с ошибкой об отсутствующей таблице. При проверке кажется, что CakePHP не включает ни одну из таблиц HABTM в инструкции select.
Мои отношения HABTM Пользователь следующим образом:
var $hasAndBelongsToMany = array(
'Course' => array(
'className' => 'Course',
'joinTable' => 'course_members',
'foreignKey' => 'user_id',
'associationForeignKey' => 'course_id',
'conditions' => '',
'order' => '',
'limit' => '',
'uniq' => false,
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
),
'School' => array(
'className' => 'School',
'joinTable' => 'school_members',
'foreignKey' => 'user_id',
'associationForeignKey' => 'school_id',
'conditions' => '',
'order' => '',
'limit' => '',
'uniq' => false,
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
),
'Team' => array(
'className' => 'Team',
'joinTable' => 'team_members',
'foreignKey' => 'user_id',
'associationForeignKey' => 'team_id',
'conditions' => '',
'order' => '',
'limit' => '',
'uniq' => false,
'finderQuery' => '',
'deleteQuery' => '',
'insertQuery' => ''
)
);
Ошибка:
SQL Error: 1054: Unknown column 'School.name' in 'where clause'
И, наконец, запрос он пытается выполнить
SELECT
`User`.`id`, `User`.`username`, `User`.`password`, `User`.`firstName`, `User`.`lastName`, `User`.`email
`, `User`.`phone`, `User`.`streetAddress`, `User`.`city`, `User`.`province`, `User`.`country`, `User
`.`postal`, `User`.`userlevel`, `User`.`modified`, `User`.`created`, `User`.`deleted`, `User`.`deleted_date
` FROM `users` AS `User` WHERE `User`.`id` = 6 AND `School`.`name` LIKE '%Test%' LIMIT 1
Как лучше всего, как я знаю, что это не имеет значения, как Я явно задал имена совместной таблицы и модели. – 2008-11-29 15:11:09