当我发现使用此捆绑包可以进行简单的分页时,我感到非常高兴。但是几天后,我遇到了一个问题。我收到有关不存在的表的错误。
我在symfony 3.4中安装了Knp Paginator捆绑软件,为几个类实现了它。现在,我有类AppBundle \ Entity \ HAddress。并且捆绑理解它的名字是错误的方式。这是我的实体(部分实体):
/**
* HAddress
*
* @ORM\Table(name="h_address")
* @ORM\Entity(repositoryClass="AppBundle\Repository\HAddressRepository")
* @Table(indexes={@Index(columns={"house_number", "street"}, flags={"fulltext"})})
*/
class HAddress
这是我的控制者:
public function indexAction(Request $request)
{
// Not important for this
if(isset($searchString) && !empty($searchString)) {
// Not important for this
} else {
$find = $this->getDoctrine()
->getRepository("AppBundle:HAddress")->createQueryBuilder("p"); <-------------Here is the problem
/** @var EntityManager $em */
$query = $em->createQuery($find);
/** @var "Knp\Component\Pager\Paginator" */
$hAddresses = $paginator->paginate(
$query <----------- And Here
);
}
return $this->render('haddress/index.html.twig', array(
在加载页面上出现此错误:
执行'SELECT count(DISTINCT h0_.id)AS sclr_0 FROM haddress h0_'时发生异常:
SQLSTATE [42S02]:未找到基表或视图:1146表 'horus.haddress'不存在
从上面的注释中可以明显看出,表名是“ h_address”而不是“ haddress”。这是某种命名约定,我不知道我错过的某些配置设置还是错误?
如果您知道如何帮助我解决此问题,请。 该怎么做,Knp Paginator才能看到并使用正确的表名?
答案 0 :(得分:1)
哦,对不起,我只是注意到添加这些全文索引后没有更新数据库:
* @Table(indexes={@Index(columns={"house_number", "street"}, flags={"fulltext"})})
运行后
主义:schema:update --force
一切正常。