PHP原则:如何设置refClass额外列?

PHP原则:如何设置refClass额外列?,php,doctrine,associations,Php,Doctrine,Associations,我有以下模式 User: columns: id: type: integer primary: true name: string relations: UserGroup: local: userGroup_id foreign: id refClass: User2Group UserGroup: columns: id: typ

我有以下模式

User:
  columns:
      id:
           type: integer
           primary: true
      name: string
  relations:
     UserGroup:
      local: userGroup_id
      foreign: id
      refClass: User2Group

UserGroup:
  columns:
      id:
           type: integer
           primary: true
      name: string
  relations:
     User:
      local: user_id
      foreign: id
      refClass: User2Group

User2Group:
    columns:
        user_id:
           type: integer
           primary: true
        userGroup_id:
            type: integer
            primary: true
        extraColumn: string
我正在努力做到这一点

$user=new Model_User();
        $user->name='user';

        $user->UserGroup[0]->name='group';
        $user->UserGroup[0]->extraColumn='test';

        $user->save();

但它给了我一个异常“Doctrine\u Record\u Unknown property exception”,在“UserGroup”上显示消息“Unknown Record property/related component”extraColumn,我做错了什么?(顺便说一句,我已经尝试将本地/外部更改为任何其他仍然不起作用的内容)

原则实际上不支持联接表上的额外列。但是您可以使用Doctrine\u查询访问和更新这些值

  Doctrine_Query::create()
    ->update('User2Group')
    ->set('extraColumn', 'Dude its working')
    ->where('user_id = ?', $user['id'])
    ->andWhere('userGroup_id = ?', $userGroup['id'])
    ->execute();
要获取此值,需要执行select查询

  Doctrine::getTable('User')->createQuery('u')
    ->addSelect('u.*, ug.*, u2g.extraColumn')
    ->leftJoin('u.UserGroup ug')
    ->leftJoin('ug.User2Group u2g WITH u2g.user_id = ?', $user['id'])
    ->execute();

显然没有别的办法,至少在第一条原则上是这样。谢谢