Ben bir CakePHP 1.2 uygulama üzerinde çalışıyorum. Ben katılmak tablo ile diğer tablolar ile birkaç HABTM ilişkileri ile tanımlanan bir model "Kullanıcı" var.
Ben şimdi bu HABTM tablolardan biri depolanan verilere dayalı Kullanıcı bilgileri bulmakla görevli değilim. Sorgu yürütür, ne yazık ki, benim durumum bir eksik tablo hakkında bir hata ile reddedilir. Incelenmesi üzerine CakePHP select deyiminde HABTM tablolardan herhangi dahil değil gibi görünüyor.
Aşağıdaki gibi benim kullanıcı HABTM ilişki:
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' => ''
)
);
Hata:
SQL Error: 1054: Unknown column 'School.name' in 'where clause'
Ve nihayet, sorgu çalıştırmak için çalışıyor
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