0

Cake1.3から最新のCake2にアップグレード中です。

以前は、アプリコンポーネントから次のようにユーザーモデルにアクセスしていました。

$this->Auth->userModel->

ただし、そのフィールドはもうありません。

代替手段はありますか?

私も試しました

App::uses('User', 'Model');
$user = new User();

しかし、私はエラーが発生します

Class 'AppModel' not found

ユーザーモデルにアクセスする別の方法はありますか?

4

1 に答える 1

1

ユーザー(または任意の)モデルにアクセスして、正確に何をしたいですか?

コントローラの場合、コントローラの$uses変数を使用してモデルを追加できます。

public $uses = array('User');

「モデルの関連付けをジャンプ」して、任意のモデルにアクセスすることもできます。たとえば、にいて、ControllerのプロパティにあるモデルとないモデルUsersControllerを使用する場合は、次の操作を実行できます。CostumeUser hasMany CostumeCostume$uses

$this->User->Costume->find();

モデルアソシエーションの存在は必須です。そうでない場合は機能しません。これが可能なのは、ユーザーモデルが、関連付けられているモデルのいずれかに内部的に関連付けられているためです。

コンポーネントはコントローラーをラップするので、ここでもこれを実行できるか、呼び出し可能な場所からコントローラーへの参照があるはずです。User->Costume->find();ただし、モデルを呼び出そうとするよりもComponent、そこからデータを渡す方がよいでしょう。Controller

于 2012-11-13T10:06:56.353 に答える