3

私は yii2 を使って基本的な Web サイトを作成しています。

ユーザーがログオンしたときに、ユーザーが好きなビデオをロードする必要があります。

データベースでは、ビデオはビデオ テーブルに格納され、ユーザーはユーザー テーブルに格納されます。UserVideoJunction は、ユーザーとビデオの関係を格納するジャンクション テーブルです。

Gii を使用してモデルを生成し、3 つのテーブルの CRUD を使用すると、すべてのデータにアクセスして操作できます。

しかし、ユーザーに関連するビデオを取得しようとすると問題が発生します。

public function getUservideojunctions()
{
    return $this->hasMany(Uservideojunction::className(), ['UserID' => 'UserID']);
}

/**
 * @return \yii\db\ActiveQuery
 */
public function getVideos()
{
    return $this->hasMany(Video::className(), ['P_ID' => 'VideoID'])->viaTable('UserVideoJunction', ['UserID' => 'UserID']);
}

上記のコードは、自動生成されたコードです。

getVideos()関数によって返されたものを表示する方法を教えてください。

4

2 に答える 2

2

これを試して:

$videos = $user->videos;

またはこれ:

$videos = $user->getVideos()->all();
于 2017-01-04T18:02:20.777 に答える