我回来时遇到了一个 symfony2 问题。
我正在尝试制作一个非常简单的“搜索表单”来显示博客的一些帖子。为了不过分,我决定直接在树枝中创建表单,如下所示:
<form class="form-search" method="post" action="{{ url('search_route') }}">
<input type="text" placeholder="Search" class="input-medium search-query" name="search">
<button type="submit"><img src="/img/search.png" alt="search" /></button>
</form>
在我的控制器中,我试图找到一种在查询中传递输入值的方法。下面是 searchAction() 的代码:
use Symfony\Component\HttpFoundation\Request;
/..
public function searchAction(Request $request)
{
$data = $request->request->all();
$dql = "SELECT a FROM PfBlogBundle:Article a WHERE a.title LIKE '{$data['search']}' ORDER by a.id DESC";
$query = $em->createQuery($dql);
$paginator = $this->get('knp_paginator');
$pagination = $paginator->paginate(
$query,
$this->get('request')->query->get('page', 1)/*page number*/,
4/*limit per page*/
);
return $this->render('PfBlogBundle:Default:blog.html.twig', array('pagination'=>$pagination));
}
事实是,如果我 print_r($data),我有通过输入发送的值。我的问题实际上是在我认为的查询中传递它。我在本地开发并在浏览器中出现服务器错误时我点击提交:/
任何想法?