Knp分页器在表名问题中是否下划线?

时间:2019-02-09 22:27:30

标签: php knppaginator

当我发现使用此捆绑包可以进行简单的分页时,我感到非常高兴。但是几天后,我遇到了一个问题。我收到有关不存在的表的错误。

我在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才能看到并使用正确的表名?

1 个答案:

答案 0 :(得分:1)

哦,对不起,我只是注意到添加这些全文索引后没有更新数据库:

* @Table(indexes={@Index(columns={"house_number", "street"}, flags={"fulltext"})})

运行后

  

主义:schema:update --force

一切正常。