【发布时间】:2012-04-10 00:00:27
【问题描述】:
好的,所以我有一个正确创建 crud 的实体...它为我提供了实体的 .yml 路由文件...
在 yml 文件中我指定了一个路由,例如:
manager_agentview:
pattern: /manager/{id}/view
defaults: { _controller: "EcsCrmBundle:Management:agentview" }
这很好用……但是,这个页面的内容是一个列表……
我的功能,是这样的:
public function agentviewAction($id, $start = null, $end = null) {
$em = $this->getDoctrine()->getEntityManager();
$request = $this->getRequest();
$today = time();
echo $end;
if ($end == null) {
if (date('l') == "Saturday") { $end = date("Y-m-d 23:59:59"); } else { $end = date("Y-m-d 23:59:59", strtotime('next saturday', $today)); }
}
if ($start == null) {
if (date('l') == "Sunday") { $start = date('Y-m-d 00:00:00'); } else { $start = date('Y-m-d 00:00:00', strtotime('last sunday', $today)); }
}
$entities = $em->getRepository('EcsCrmBundle:TimeClock');
$query = $entities->createQueryBuilder('t');
$query = $query->select('t')
->where('t.daydate BETWEEN :start AND :end')
->andwhere("t.noteBy = :id")
->orderBy("t.id", 'ASC')
->setParameter('start', $start)
->setParameter('end', $end)
->setParameter('id', $id)
->getQuery();
$entities = $query->getArrayResult();
$dateRangeForm = $this->createForm(new DateRangeType());
$query = $em->getRepository('EcsAgentManagerBundle:User')->find($id);
//return new Response('yep', 200);
return $this->render('EcsCrmBundle:TimeClock:view.html.twig', array('entity' =>$entities, 'user' => $query, 'start' => $start, 'end' => $end, 'form' => $dateRangeForm -> createView(),));
}
dateRangeForm,只是创建了 2 个 jquery datepicker 框..
但是,当我在我的路线中添加{start}/{end} 时,它不断告诉我它找不到正确的路线......因为我希望 URL 保持不变(最终 - 没有日期URL)——我必须弄清楚如何将数据发布到同一个函数,而不会破坏通过以下方式查看数据的能力:site.dev/manager/12/view
【问题讨论】: