【问题标题】:How to catch an id from sfUser?如何从 sfUser 中获取 id?
【发布时间】:2011-08-27 02:07:50
【问题描述】:

我正在使用 symfony 1.4 并且我使用 sfDoctrineGuardPlugin 作为身份验证工具。

我想获取用户的 ID 以便将其存储在我的表中。

经过一番小小的研究,我想我必须使用那个表达式:getUser()->getGuardUser()->getId()

我正在寻找的是如何为我的目标投资该表达。

【问题讨论】:

  • 你能扩展“为我的目标投资那个表达”吗?你到底想做什么?
  • “我正在寻找的是如何为我的目标投资该表达式。”是的,请详细说明....

标签: php symfony1 doctrine sfguard


【解决方案1】:

如果用户通过了身份验证,是的,您可以使用:

// inside an action
$id = $this->getUser()->getGuardUser()->getId();

// inside a template
$id = $sf_user->getGuardUser()->getId();

如果用户未通过身份验证,则会抛出错误。

【讨论】:

  • 这是我正在使用的,相同的指令,但我正在寻找的是如何保存具有 $id 作为属性之一的对象?这意味着我该如何修改我的操作来做到这一点?
  • 你能解释一下“属性之一”是什么意思吗?您正在处理哪些不同的对象?
  • 我想从我的表单中隐藏该字段(id)&当我点击保存时,它必须自动保存。那么我应该在我的操作中修改什么来做到这一点: $id = $this->getUser()->getGuardUser()->getId();对于我尝试保存的对象
  • 老实说,我建议您查看相关文档。您的问题不止一个部分,还有几种方法。我建议你看看 Jobeet 教程。
  • Jobeet 教程这么大,有没有专门的链接(具体什么时候)
【解决方案2】:

取决于你从哪里打电话。

从“观点”:

echo $sf_user->getAttribute('user_id', null, 'sfGuardSecurityUser' );
echo $sf_user->getUsername();

来自“控制器”(如上面 Tom 所述):

echo $this->getUser()->getGuardUser()->getId();
echo $this->getUser()->getGuardUser()->getUsername();

(第一行是'id',第二行是'username')

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2010-11-16
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-01-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多