0

多分それは簡単な質問ですが、私はそれにアプローチする方法がわかりません。との基本的なベイク済みアプリケーションの間に HABTM 関係がPodcastsあります。ユーザーはポッドキャストを「購読」できます。UsersCakePHP 2.3.6

そうしたいです。

  1. 現在ログインしているユーザーのすべてのポッドキャストを取得する
  2. podcasts テーブルのフィールドを特定の形式で含む CakePHP-emailcomponent を使用して、現在ログインしているユーザーの電子メールにファイル (.opml、XML 形式) を送信します。

1. すべてのポッドキャストを取得する:これは私が持っているものです。 debug($this->viewVars)配列がfalse.. であることを示しています。なぜですか?

モデル/Podcast.php

public function getPodcastsByUserId($userId = null) {
    if(empty($userId)) return false;
    $podcasts = $this->find('all', array(
        'joins' => array(
             array('table' => 'podcasts_users',
                'alias' => 'PodcastsUser',
                'type' => 'INNER',
                'conditions' => array(
                    'PodcastsUser.user_id' => $userId,
                    'PodcastsUser.podcast_id = Podcast.id'
                )
            )
        ),
        'group' => 'Podcast.id'
    ));
    return $podcasts;
}

ユーザーコントローラー.php

public function showMyPodcasts() {
   $userId = $this->Session->read('Auth.User.Id');
   $this->loadModel('Podcast');
   $podcasts = $this->Podcast->getPodcastsByUserId($userId);
   $this->set('podcasts', $podcasts);
}

2. ファイルの送信

基本的なアイデアやアプローチだけでも非常に役立ちます。

4

1 に答える 1

1

CakeEmail は、ここに例、説明...などを含めて非常によく文書化されています: http://book.cakephp.org/2.0/en/core-utility-libraries/email.html

于 2013-06-22T06:49:07.710 に答える