0

ユーザーがデータベースの資格情報に基づいてログインする Cakephp2 アプリケーションがあります。認証と承認は正常に機能します。

ユーザーのメモが保存されるメモテーブルがあります。各ユーザーは多くのメモを持つことができます。

1 つのページで、ログインしているユーザーのメモをすべて抽出する必要があります。

注記モデルを作成しました:

class Note extends AppModel {

public $name = 'Note';

public $belongsTo = 'User';

}

私のユーザーモデルには次のものがあります。

class User extends AppModel {
public $name = 'User';
public $displayField = 'name';
public $hasMany = 'Note';....

私が作成したユーザーコントローラーで:

public function getnotes($id = null) {
$this->User->id = $id;
}

しかし、どのような検索ステートメントを実行しても、特定のユーザーのメモしか取得できません。debug($id) を実行すると、画面に false が表示されるため、明らかに現在のユーザー ID が認識されていません。

ユーザーのすべてのメモをリストしてから、個々のメモページにリンクする必要があります。

4

1 に答える 1

0

CakePHP に AUTH コンポーネントを統合します ...($this->Auth->user('id')) のような認証関数と配列によってユーザー ID/情報にログインします。

認証の統合については、以下のリンクを参照として使用してください http://book.cakephp.org/2.0/en/tutorials-and-examples/blog-auth-example/auth.html

このユーザー ID を次のように使用して、レコードを検索します

$this->Note->find('all',array('conditions'=>array('Note.user_id'=>$this->Auth->user('id')))

于 2012-09-24T13:21:58.047 に答える