Symfony1 如何在sfDoctrineGuard插件中获取用户id值?
我正在开发一个基于sfGuard的模块,我需要允许用户编辑或删除记录。这就是我获得用户的方式: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
$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
部分被忽略,但我不确定
IIRCurl\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?不用担心:)。。。我添加了一个答案,试图解释这个问题。谢谢,我知道如何处理这个问题,并把事情做好