我正在使用FOSUserbunble,如何从另一个Bunble中的另一个控制器/表单访问用户对象? 例如,我有一个BlogBundle,当我创建一个新帖子时,我需要在post表中保存userId。 对于我正在使用buildForm扩展AbstractType的表单。
感谢
答案 0 :(得分:2)
尝试$user = $this->getUser();
答案 1 :(得分:0)
您可以通过SecurityContext进行此操作 让我们举个例子..
namespace YourPackage\UserBundle\Controller;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Security\Core\Exception\AccessDeniedException;
use FOS\UserBundle\Model\UserInterface;
class YourController extends Controller{
/**
* Fetch a user object.
*
* @Route("/yourRoute", name="your_route")
* @Method()
* @Template()
*/
public function yourAction(Request $request)
{
$user = $this->container->get('security.context')->getToken()->getUser();
return $this->redirect($this->generateUrl('your_route'));
}}