Написал запрос на возврат всех карт, купленных конкретным пользователем. Я не знаю, что делаю не так. Я определил user_id в таблице карт и добавил несколько карт вручную тоже test.
Моя служба ..
public function getUserCardAction($userId)
{
$card = $this->getCardRepository()
->createQueryBuilder('c')
->select('c')
->where('c.userId = :userId')
->setParameter('userId', $userId)
->getQuery()
->getResult();
return $card;
}
Мой контроллер ..
public function getUserCard()
{
$this->get('card.configuration')->getUserCardAction($this->getUser());
return $this->success();
}
Он возвращает ИСТИНА, но без данных. Я входил в карты с user_id 1 в db.
покажи нам свой класс сущности
/ ** * @ORM \ Column (name = "user_id", type = "integer", nullable = true) * / private $ userId;






Ты возвращаешься
$this->success();
Что это за функция?
Разве вы не должны возвращать результат вашего запроса? Нравиться :
return $this->get('card.configuration')->getUserCardAction($this->getUser());
Контроллер должен вернуть ответ (задан массив (0 => Object (Bundle \ Base \ Entity \ Card), 1 => Object (Bundle \ Base \ Entity \ Card))).
Да, в Symfony контроллер должен возвращать объект ответа. Вопрос в том, чего вы ожидаете в качестве отдачи. Вы вызываете его через ajax и хотите JsonResponse, или вы хотите передать данные, например, функции рендеринга. Вот почему я спросил, что внутри вашей функции успеха. Вы можете предоставить этот код?
Вы также можете получить результат напрямую через доктрину, чтобы сократить его $ this-> em-> getRepository ('App: Cart') -> findBy (['userId' => $ this-> getUser ()])
Я пытаюсь вернуть все карты, принадлежащие конкретному пользователю. (Пользователь с ID 1)
Мне удалось найти решение.
Я только что отредактировал свой Контроллер.
$card = $this->get('card.configuration')->getUserCardAction($this->getUser());
return $this->success($card);
Попробуйте добавить «-> getUserCardAction ($ this-> getUser () -> getId ())»
А какую ошибку вы получите?