Я пытаюсь создать диспетчер задач, и мне нужно иметь возможность получить идентификатор пользователя пользователя, который в настоящее время зарегистрирован, чтобы при создании задачи идентификатор пользователя также вводится в базу данных. Я не могу заставить его работать, он продолжает говорить мне, что call to undefined function getUser()
я не думал, что должен был определить его, я думал, что он встроен.Получение идентификатора пользователя от входа в систему пользователя в FOSUserBundle
Может кто-нибудь помочь мне исправить это, было бы очень признательно!
здесь есть функция, которая создает задачу
<?php
namespace Starnes\TaskBundle\Controller;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Method;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Route;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Template;
use Starnes\TaskBundle\Entity\Task;
use Starnes\TaskBundle\Form\TaskType;
use Starnes\UserBundle\Entity\User;
/**
* Task controller.
*
* @Route("/task")
*/
class TaskController extends Controller
{
/**
* Lists all Task entities.
*
* @Route("/", name="task")
* @Method("GET")
* @Template()
*/
public function indexAction()
{
$em = $this->getDoctrine()->getManager();
$entities = $em->getRepository('StarnesTaskBundle:Task')->findAll();
return array(
'entities' => $entities,
);
}
/**
* Creates a new Task entity.
*
* @Route("/", name="task_create")
* @Method("POST")
* @Template("StarnesTaskBundle:Task:new.html.twig")
*
*/
public function createAction(Request $request)
{
$user = new User();
$userID = $user->getUser()->getId();
$entity = new Task();
$form = $this->createCreateForm($entity);
$form->handleRequest($request);
if ($form->isValid()) {
$em = $this->getDoctrine()->getManager();
$em->persist($entity);
$entity->setUserId($userID);
$em->flush();
return $this->redirect($this->generateUrl('task_show', array('id' => $entity->getId())));
}
return array(
'entity' => $entity,
'form' => $form->createView(),
);
}
спасибо, что это сработало! – zachstarnes
это не сработало для меня. Я получил ошибку: вы запросили несуществующий сервис «security.context». –