Symfony1 如何在sfDoctrineGuard插件中获取用户id值?

Symfony1 如何在sfDoctrineGuard插件中获取用户id值?,symfony1,symfony-1.4,sfdoctrineguard,Symfony1,Symfony 1.4,Sfdoctrineguard,我正在开发一个基于sfGuard的模块,我需要允许用户编辑或删除记录。这就是我获得用户的方式: $id_empresa = $this->getUser()->getGuardUser()->getSfGuardUserProfile()->getIdempresa(); $this->users = Doctrine_Core::getTable('sfGuardUser')->createQuery('u')->leftJoin('u.SfGuard

我正在开发一个基于sfGuard的模块,我需要允许用户编辑或删除记录。这就是我获得用户的方式:

$id_empresa = $this->getUser()->getGuardUser()->getSfGuardUserProfile()->getIdempresa();
$this->users = Doctrine_Core::getTable('sfGuardUser')->createQuery('u')->leftJoin('u.SfGuardUserProfile p')->where('idempresa = ?', $id_empresa)->execute();
但是在视图中,当我迭代时,我不知道如何访问
user\u id
值。我检查了
basesGuardUser
,但没有获取Id的方法,有什么建议或帮助吗

添加了视图的代码 这是迭代的代码:

<?php foreach ($users as $user): ?>
    <tr>
       <td><?php echo $user->getFirstName() ?></td>
       <td><?php echo $user->getLastName() ?></td>
       <td><?php echo $user->getEmailAddress() ?></td>
       <td><?php echo $user->getUsername() ?></td>
       <td><?php echo $user->getIsActive() ?></td>
       <td>
          <a href="<?php echo url_for('guard/users/' . $user->get('id') . '/edit') ?>" class="btn btn-success btn-mini">Editar</a>
          <a href="<?php echo url_for('guard/users/' . $user->get('id')) ?>" class="btn btn-danger btn-mini">Eliminar</a>
       </td>
    </tr>
<?php endforeach; ?>


问题在于
'guard/users/'$用户->获取('id')。'/编辑
url\u中的“
部分”。可能是因为
usuarios/edit/1
不是
url\u的有效参数,所以它被解析为
module/action
,而
/1
部分被忽略,但我不确定

IIRC
url\u for
实际上有4种有效形式:

  • url\u表示('module/action',数组('param1'=>'value1'),true/*absolute*/)
  • ('@route\u name?param1=value1',true/*absolute*/)的url
  • url\u表示('route\u name',array('param1'=>'value1'),true/*absolute*/)
  • 这仅适用于对象路由:('route\u name',$object,true/*absolute*/)的
    url\u
    或('route\u name',array('sf\u subject'=>$object,'extra\u param'=>'value')、true/*absolute*/)的
    url\u

  • 如果你有一个对象路由(例如,
    sfDoctrineRoute
    ),你应该使用最后一个;如果你有一个带参数的非对象路由,你应该使用第三个;如果你有一个不带参数的路由,你应该使用第二个。

    foreach($users as$user)var\u dump($user->get('id'))
    @1ed,nope,不起作用(可能
    idempresa
    是id列的名称?),但请尝试
    $user->getPrimaryKey()
    然后…如果要生成url,则应使用路由名称和对象作为参数,如
    url\u for('sf\u gaurd\u user\u edit',$user);
    php symfony应用程序:路由后端查看可用routes@1edups向您道歉,这两种方法都有效,我是指您离开的第一个解决方案和基于
    getPrimaryKey()
    的第二个解决方案,问题在于:
    为什么该值没有附加到URL?不用担心:)。。。我添加了一个答案,试图解释这个问题。谢谢,我知道如何处理这个问题,并把事情做好