Zakładam że utworzysz sobie tabelę user_groups z polami: id (int11 unsigned, PK, autoincrement ), user_id (int11 unsigned), group_id (int11 unsigned) oraz active (tinyint(1)) i masz:
APPPATH/classes/Model/User/Group.php a w nim tak:
class Model_User_Group extends ORM
{
protected $_table_name = 'user_groups';
protected
$_belongs_to = array( 'user' => array('model' => 'User', 'foreign_key' => 'user_id'), 'group' => array('model' => 'Group', 'foreign_key' => 'group_id'), );
}
i przy dodawaniu (załóżmy że dodajesz siebie jako zalogowanego użytkownika tzn. wyrażasz chęć dołączenia):
$user = Auth::instance()->get_user();
$group = ORM::factory('Group', $jakies_id_grupy);
$user_group = ORM::factory('User_Group');
$user_group->user_id = $user->id;
$user_group->group_id = $group->id;
$user_group->active = false;
$user_group->save();
a potem tylko w prosty sposób jakiś admin może to aktywować:
$user_group = ORM::factory('User_Group')
->where('user_id', '=', $jakies_id_uzytkownika)
->where('group_id', '=', $id_tej_grupy)
->find();
IF ($user_group->loaded())
{
$user_group->active = true;
$user_group->save();
}
else
{
// jakies instrukcje powiadamiajace ze nie ma takiego uzytkownika w grupie
}