Cakephp のビューでユーザー名にアクセスしようとしています。ユーザーIDが与えられ、それを使用して、別のテーブルに保存されているユーザー名を検索する必要があります。
表示を取得しているテーブルはメッセージであり、次のとおりです
id | title | message | from_user | to_user | date
ユーザー名を含む users テーブル
id | username | email | password
とにかく、メッセージで from_user のユーザー名を調べるにはどうすればよいですか? 私はまだケーキに慣れているので、実際にクエリを書かずに「結合」ステートメントを作成する方法がわかりません。
コントローラーのアクションからユーザー名を送信する必要がありますか、それともビューから送信しても問題ありませんか?
編集-動作するようになりました
ここに私のインデックス関数があります
public function index() {
$options['joins'] = array(
array('table' => 'Users',
'type' => 'inner',
'fields' => array('user.username'),
'conditions' => array(
'Message.from_user = User.id',
'alias' => 'user_id')
)
);
$message = $this->Message->find('all', $options);
$this->set('messages', $message);
}
これをメッセージコントローラーに追加したところ、ユーザー名が表示されるようになりましたが、最初のメッセージのみです。それ以外はすべて空白です。
public $belongsTo = array('User');