歯科検査システムのユーザーに関するデータを保存するために使用される User モデルがあります。
通常、3 種類のユーザーが存在します: Admininistrator、Location ManagerおよびExaminerです。
私のアプリケーションでは、これら 3 つの役割を別々のモデルとして扱うことが必要になったようです (役割ごとに異なるオプションを使用して異なるビューを作成する方法を想像してみてください... 悪夢です)。
各モデルで関係を設定するにはどうすればよいですか。
私の最初の考えは次のとおりです。
//Administrator Model
class Administrator extends User {
$name = 'Administrator';
$table = 'User';
$belongsTo = array(
'User' => array(
'className' => 'User',
'conditions' => array('User.role' => 'administrator'),
)
);
}
そして、User モデルは hasMany? を使用してこれを参照します。CakePHP の規約に関して、実際にこれを正確にモデル化するにはどうすればよいでしょうか?
また、このモデルは User モデルまたは AppModel を拡張しますか?