Вы бы использовали отношение Коханы . Примером может быть:
class Model_Page
{
protected $_has_many = array(
'tags' => array(
'model' => 'tag',
'foreign_key' => 'page_id',
'far_key' => 'tag_id',
'through' => 'pages_tags',
),
);
}
class Model_Post
{
protected $_has_many = array(
'tags' => array(
'model' => 'tag',
'foreign_key' => 'post_id',
'far_key' => 'tag_id',
'through' => 'posts_tags',
),
);
}
class Model_Tag
{
protected $_has_many = array(
'pages' => array(
'model' => 'page',
'foreign_key' => 'tag_id',
'far_key' => 'page_id',
'through' => 'pages_tags',
),
'posts' => array(
'model' => 'post',
'foreign_key' => 'tag_id',
'far_key' => 'post_id',
'through' => 'posts_tags',
),
);
}