php - 语义错误类 'Blog' 未定义 Symfony 4

标签 php symfony pagination

我有这个代码:

namespace App\Controller;
use Symfony\Component\HttpFoundation\Request;
use App\Entity\Blog;

use Symfony\Component\Routing\Annotation\Route;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Doctrine\ORM\Tools\Pagination\Paginator;

class BlogController extends Controller
{
    /**
     * @Route("/blog", name="blog")
     */
    public function index()
    { 
        $entityManager=$this->getDoctrine()->getManager();

        $blog = $this->getDoctrine()->getRepository(Blog::class);
        $dql = "SELECT id, name  FROM Blog";
        $query = $entityManager->createQuery($dql)
                           ->setFirstResult(0)
                           ->setMaxResults(100);

        $paginator = new Paginator($query, $fetchJoinCollection = true);

        $c = count($paginator);
        foreach ($paginator as $post) {
            echo $post->getHeadline() . "\n";
        }

        return $this->render('blog/index.html.twig', [
            'controller_name' => 'BlogController',
            'blog' =>$blog,
        ]);
    }
}

但是当我运行它时它给了我

[Semantical Error] line 0, col 22 near 'Blog': Error: Class 'Blog' is not defined. I also tried put

 $dql = "SELECT id, name  FROM App\Entity\Blog:Blog";

但是这样它给了我

[Syntax Error] line 0, col 37: Error: Expected Doctrine\ORM\Query\Lexer::T_IDENTIFIER, got ':Blog'

我不知道该怎么办。请帮助我

最佳答案

正确的 DQL 查询应如下所示:

SELECT blog.id, blog.name FROM App\Entity\Blog blog

DQL documentation应该从那里帮助你。

关于php - 语义错误类 'Blog' 未定义 Symfony 4,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49712857/

相关文章:

forms - Symfony 表单 CollectionType 字段的顺序

c# - PagedList.Mvc 在 MvcHtmlString 上抛出异常

javascript - 为 Ajax 生成的表提供简单的 js 分页

PHP/MYSQL IP 检查/记录器

php - Wordpress 未从 options.php 页面注册自定义选项

php - 如何将用户特定数据从外部数据库调用到 WordPress

php - 错误的分页链接重定向

php - 循环和变量php

php - 如何在 Symfony 2 中管理大型初始应用程序数据

forms - 使用获取数据来预填写表单