Php 模型的帮助器类

Php 模型的帮助器类,php,orm,model,kohana,helper,Php,Orm,Model,Kohana,Helper,我现在真的很困惑,希望你能帮我找到路:) 假设我有两种型号: 使用者 团体 每个用户都可以是一个或多个组的一部分,每个组都可以有一个或多个用户。 这两个模型都是用ORM构建的(我在Kohana3.2中开发,但是框架在这里可能不那么重要) 当我想将用户添加到组中,而我只有用户id和组id时,就会出现问题 $user = ORM::factory('user', $user_id); $group = ORM::factory('group', $group_id); $group->ad

我现在真的很困惑,希望你能帮我找到路:)

假设我有两种型号:

  • 使用者
  • 团体
每个用户都可以是一个或多个组的一部分,每个组都可以有一个或多个用户。 这两个模型都是用ORM构建的(我在Kohana3.2中开发,但是框架在这里可能不那么重要)

当我想将用户添加到组中,而我只有用户id和组id时,就会出现问题

$user = ORM::factory('user', $user_id);
$group = ORM::factory('group', $group_id);
$group->add('user', $user);
  • 首先,我应该按id加载用户
  • 其次,我应该按id加载组
  • 然后我应该将用户添加到组中
所以我应该有3db的请求。但是我想通过一个请求来解决这个问题

我正在考虑创建一个helper类:group拥有一个方法*add\u user*acception 2参数(group\u id,user\u id),在这个方法中,我将发出一个数据库请求,在*groups\u users*表中插入一条记录,在组中插入用户


有什么更好的方法吗?

3 db请求是必要的,因为您应该确保给定id的用户和组确实存在。
ORM方法使代码更具可读性。

3db请求是必要的,因为您应该确保给定id的用户和组确实存在。
ORM方式使代码更具可读性。

我是Kohana用户。这样做有什么不对:

$group = ORM::factory('group');
$group->user_id = $user_id;
$group->group_id = $group_id;
try
{
    $group->save();
} catch(ORM_ValidationException e) {
    //deal with error
}

我可能拼错了验证异常,但你明白了

我是Kohana的用户。这样做有什么不对:

$group = ORM::factory('group');
$group->user_id = $user_id;
$group->group_id = $group_id;
try
{
    $group->save();
} catch(ORM_ValidationException e) {
    //deal with error
}
我可能拼错了验证异常,但你明白了