php - Knp Paginator 表名中的下划线问题?
问题描述
当我发现这个捆绑包可以多么简单的分页时,我感到非常高兴。但是几天后我遇到了一个问题。我收到有关不存在表的错误。
我在 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 看到并使用正确的表名?
解决方案
哦,对不起,我刚刚注意到添加这些全文索引后我没有更新数据库:
* @Table(indexes={@Index(columns={"house_number", "street"}, flags={"fulltext"})})
运行后
学说:架构:更新--force
一切正常。
推荐阅读
- html - 如何理解 Bootstrap 中的 mb-5 类属性
- java - Android 通知通道设置 - 未列出应用程序提供的声音
- c++ - pred 中偏移的时间复杂度?
- html - 样式动态生成的 div
- python - Python HTML网页抓取
- javascript - 如何使用 JavaScript 检测 HTML 标签的水平滚动
- c - scanf 不等待整数输入
- reactjs - 如何正确更新/重新渲染不是子 React Native 的组件?
- python - Windows tarball 安装中的 python.exe 在哪里?
- regex - Python正则表达式:中间没有空格