我在数据库表中定义了状态字段,例如
$newPlay->setStatus(Plays::STATUS_PUBLISHED);
现在已保存在该数据库表中。
我需要使用具有该状态的字段来渲染视图。
我为此进行了api调用,但我不断收到错误消息
控制器“ AppBundle \ Website \ Controller \ PublishedTicketsController :: publishedTicketsAction()”要求您为“ $ status”参数提供一个值。该参数可以为空,并且没有提供空值,没有提供默认值,或者因为此参数之后有一个非可选参数。
这是我的api调用。
/**
* @Route("/published-tickets", name="published_tickets")
* @param Request $request
* @return \Symfony\Component\HttpFoundation\Response
* @throws \Exception
*/
public function publishedTicketsAction(Request $request, $status)
{
$query = $this->getDoctrine()
->getRepository('AppBundle:Plays')->findBy(['status' => $status]);
return $this->render('@FrontTemplates/pages/published-tickets.html.twig', array(
'query' => $query,
'status' => $status
));
}
答案 0 :(得分:0)
我已经做到了。
为我服务。
public function publishedTicket()
{
$query = $this->getPlaysRepository()
->createQueryBuilder('t')
->select('t')
->where('t.status =:status')
->setParameter('status', Plays::STATUS_PUBLISHED)
->getQuery()
->getResult();
return $query;
}
以及在我的控制器中
$playPublish = $this->container->get('publish.tickets')->publishedTicket();
return $this->render('@FrontTemplates/pages/published-tickets.html.twig', array(
'playPublish' => $playPublish
));
这是我不知道的部分。
-> setParameter('status',播放:: STATUS_PUBLISHED)