【发布时间】:2013-06-13 18:01:02
【问题描述】:
我正在开发一个基于 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_id 值。我检查了BasesfGuardUser,但没有获取 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; ?>
【问题讨论】:
-
foreach ($users as $user) var_dump($user->get('id')) -
@1ed,不,不起作用
-
应该可以工作(也许
idempresa是id 列的名称?),但是尝试$user->getPrimaryKey()然后......如果你想生成URL,你应该使用路由名称和对象作为参数,如url_for('sf_gaurd_user_edit', $user);。php symfony app:routes backend查看可用路线 -
@1ed ups 道歉人,两者都有效我的意思是你离开的第一个解决方案和基于
getPrimaryKey()的第二个解决方案,问题就在这里:<a href="<?php echo url_for('usuarios/edit/' . $user->get('id') ) ?>" class="btn btn-success btn-mini">Editar</a>为什么值不附加到网址? -
不用担心 :)... 我在尝试解释问题的地方添加了一个答案。
标签: symfony1 symfony-1.4 sfdoctrineguard