私は、ユーザーとさまざまな可能な役割(管理者、ライター、モデレーター)を持っているcakephp2プロジェクトを持っています。各役割には独自のモデルがあります。ユーザーがログインすると、ユーザーがロールに属しているかどうかを確認し、そのロールのコントローラーにリダイレクトします。しかし、ユーザーに関連付けられたモデルをロードできないようです。
$user = $this->Auth->user();
if($user['role'] == 'writer'){
$writer = $this->Writer->findByUser_id($user['id']);
$writerID = $writer['id'];
# redirect and such here
}
Cakeは、3行目に次のようなエラーを出します。
Error: Call to a member function findByUser_id() on a non-object
ユーザーモデルには次のものがあります
public $hasOne = 'Writer';
ライターモデルではこれ
public $belongsTo = 'User';
これは非常に単純なはずですが、Writerモデルをコントローラーに取り込む方法がわからないようです。何か案は?