0

Kohana ORM での関係に問題があります。ユーザー、ソング、タグの 3 つのモデルがあります。

User {
    has many Songs;
    has many Tags; (followed tags)
}

Song {
    belongs to User;
    has many Tags;
}

Tag {
    has many Users;
    has many Songs;
}

例:

  • ユーザー 'Naimad' は次のタグを使用しています: Deadmau5 と Inpetto。
  • 各タグには 2 つの曲があります。
    1. Deadmau5 タグには次のものがあります: The Veldt and Strobe,
    2. Inpetto タグには、Toca's Miracle と The Storm があります。

これらの曲をタグからユーザーに続いて取得したいのですが、これを行う方法がわかりません。私はそれがばかげた例であることを知っていますが、この質問を投稿する前に試しました:

$songs = ORM::factory('user', array('name' => 'Naimad'))
    ->tags
    ->songs
    ->find_all();
4

1 に答える 1

0

->with('tag')->with('song')を使用する必要があると思います

$songs = ORM::factory('user', array('name' => 'Naimad'))
    ->with('tags')
    ->with('songs')
    ->find_all();

次に値にアクセスするには、オブジェクト $s->tags->field_name ... などでループを実行します

于 2012-06-19T00:05:32.520 に答える