我正在製作我的第一個CakePHP項目(除了我所做的所有教程...)。特殊的cakephp模型關係
我正在爲田徑運動中的教練和運動員製作一個網站。
現在在我的數據庫我有一個領域的用戶表:ID,用戶名,名字,姓氏,電子郵件,密碼,...
然後我還有其他2代表與字段:
培訓師:ID,TYPE_ID(衝刺,距離,投擲,...),user_id說明
運動員:ID,TYPE_ID(衝刺,距離,投擲,...),USER_ID,trainer_id
我的教練模型看起來像這
<?php
class Trainer extends AppModel {
var $name = 'Trainer';
var $hasOne = array('User');
var $hasMany = array(
'Schema'=>array(
'className'=>'Schema',
'foreighnKey'=>'trainer_id'
),
'Athlete'=>array(
'className'=>'Athlete',
'foreighnKey'=>'trainer_id'
)
);
}
?>
我的運動員模型看起來像這樣
<?php
class Athlete extends AppModel {
var $name = 'Athlete';
var $hasOne = array('User');
var $belongsTo = array(
'Trainer'=>array(
'className'=>'Trainer',
'foreighnKey'=>'trainer_id'
),
'Schema'=>array(
'className'=>'Schema',
'foreighnKey'=>'schema_id'
)
);
}
?>
我的用戶模型是目前這樣的
<?php
class User extends AppModel {
var $name = 'User';
var $belongsTo = array('Usertype');
}
?>
但顯然應該改變,因爲當我去域/應用/培訓師或域/ app/athletes我得到錯誤:
Warning (512): SQL Error: 1054: Unknown column 'User.trainer_id' or 'User.athlete_id' in 'on clause' [CORE/cake/libs/model/datasources/dbo_source.php, line 681]
so short recapitula重刑:用戶不是教練就是運動員,我有一張用戶桌,一張運動員桌和一張教練桌。
一個運動員有一個教練和一個模式的教練有很多的運動員和許多模式...
問題在於用戶是一個教練或運動員......,我該怎麼得把我的模型,使這項工作?我希望我做這個很清楚:■