dongyukui8330 2018-04-07 23:07
浏览 50
已采纳

语义错误类'博客'未定义Symfony 4

I have this code :

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() . "
";
        }

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

But when i run it it gives me

[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";

But in this way it gives me

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

I dont know what to do. Please help me

  • 写回答

2条回答 默认 最新

  • dongsui5464 2018-04-08 02:00
    关注

    The correct DQL query should look something like this:

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

    The DQL documentation should help you from there.

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 对于相关问题的求解与代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 信号傅里叶变换在matlab上遇到的小问题请求帮助
  • ¥15 保护模式-系统加载-段寄存器
  • ¥15 电脑桌面设定一个区域禁止鼠标操作
  • ¥15 求NPF226060磁芯的详细资料