2

私は2対多の関係テーブルを持っています。投稿とカテゴリ。 1つの投稿は多くのカテゴリを持つことができます。私の質問は、カテゴリの投稿のリストを表示するにはどうすればいいですか?Codeigniter Datamapper多対多リスト

その評価:2(CAT2、CAT3)
マイポスト

マイポスト1(CAT1、CAT2、CAT3)
マイポスト3(CAT1)

私は、これらの方法を試してみました。

// Create post object 
$p = new Post(); 

// Get 30 posts 
$p->get(30); 

// Loop through all posts 
foreach ($p as $post) 
{ 
    // Get the current user's group 
    $post->category->get(); 

    foreach($post->category as $category) { 
     // ... 
    } 
} 

私が30の投稿を取得した場合、すべてのポストループで再びクエリを作成し、何度もカテゴリを検索するので、このようにはなりません。

と、この試みた:

$p = new Post(); 

$p->include_related('category', array('id', 'name'), TRUE, TRUE)->get(30); 

foreach($p as $post) { 
    // ... 
    foreach($post->category as $category) { 
    // ... 
    } 
} 

をこれは、より近いですが、私のポストあたりは15のポスト+ 15カテゴリを示すより2つのカテゴリを持っている場合は、この一つの問題は、私はとても制限get(30)を設定することです。

多対多のリスティングの真の方法は何ですか?

答えて

0

この場合、私は両方のテーブルをPHP連想配列でキャッシュすることを選択し、次に配列だけをループします。

関連する問題