0

2 つのテーブルから情報を表示する方法を学習しようとしています。

テーブル:

categories {category_id, category_title}
forums {forum_id, forum_title}
categories_forums {id_category, id_forum}

モデル:

class Model_Forum extends ORM {

protected $_primary_key = 'forum_id';

protected $_belongs_to = array(
    'categories'=> array(
        'model' => 'category',                
        'through' => 'categories_forums',    
        'far_key' => 'id_category',          
        'foreign_key' => 'id_forum'   
    ),
  );
}

class Model_Category extends ORM {

protected $_primary_key = 'category_id';

protected $_has_many = array(
    'forums'=> array(
        'model' => 'forum',                
        'through' => 'categories_forums',    
        'far_key' => 'id_forum',         
        'foreign_key' => 'id_category'    
    ),
  );
}

表示方法がわかりません。

これまでのところ、次のものがあります。

$categories = ORM::factory('category');

$forums = $categories->forums->find_all();

category_id、category_title、forum_id、forum_titleの表示方法がわかりません。

4

2 に答える 2

0

次のように、foreachループを使用できます。

$categories = ORM::factory('category');
foreach ($categories->find_all() as $category){
  echo $category->category_title, ' ', $category->id;
}
于 2012-05-05T10:05:12.700 に答える
0

以下はうまくいくようです:

$categories = ORM::factory('category')->find_all();

$view = new View('default/index');

$view->categories = $categories;

$this->response->body($view);

foreach ($categories as $category) :
echo $category->category_title;
echo $category->category_id;
foreach ($category->forums->find_all() as $forum) :
echo $forum->forum_title;
echo $forum->forum_id;
endforeach;
endforeach;
于 2012-05-05T21:51:50.340 に答える