KNP分页器在Symfony 5中显示每页编号无效的项目错误

问题描述

一直工作到今天。整个应用程序都没有错误,直到昨天我尝试将UUID实施为二进制类型。因此,我首先使用ramsey UUID,后来尝试了一个symfony软件包,因为他们最近添加了它,升级了作曲家,安装了新的orm,最后安装了ramsey / uuid-binary,这是我的应用程序最后可以正常工作的地方。

但是从每一分钟开始,我开始注意到很多问题。第一个是,需要在QB中的参数中添加'uuid_binary'类型。后来,当我在自己的查询中按实体搜索时,我需要粘贴的不是实体,而是Entity-> getId()!

最后,这是一个问题,分页器坏了,我不知道为什么...

这是错误

每页编号无效的项目。限制:10和Page:0,必须是非零的正整数

错误出现在525上,这是/ *每页限制* / linie

这是矿场管理员

        /**
     * @Route("thread/{threadid}/{threadname}",name="app_forum_thread_user",defaults={"threadname"=""})
     * @Security("is_granted('ROLE_USER')")
     */
    public function openThread(MainMenuService $mainMenuService,PaginatorInterface $paginator,UserForumPostRepository $forumPostRepo,Request $request,UserForumTopic $threadid,SessionInterface $session,EntityManagerInterface $em,LoggerInterface $logger,PostsLikesRepository $like){
        $referer_array = explode('/',parse_url($request->headers->get('referer'))['path']);
        if ($referer_array[1] != 'thread' and $referer_array[2] != $threadid->getId()) {
            $views = $threadid->getViews();
            $threadid->setViews($views + 1);

            $em->persist($threadid);
            $em->flush();
        }

    

    //$pagination = $forumPostRepo->findPostsminePagination($threadid->getId(),($request->query->get('page'))? $request->query->get('page') : 0,($session->get('plimit')) ? $session->get('plimit') : 10);
//
    

$query = $forumPostRepo->findPostsForThreadWithPagination($threadid->getId());
        $pagination = $paginator->paginate(
            $query,/* query NOT result */
            $request->query->getInt('page',1),/*page number*/
            ($session->get('plimit') != null) ? $session->get('plimit') : 10 /*limit per page*/
        );
        $postsLikes = [];
        foreach ($pagination as $post){
            $wynik = $like->getPostLike($post->getId(),$this->getUser()->getId());

            $postsLikes[$post->getId()] = ($wynik)? 1 : 0 ;
        }
        $mainMenu = $mainMenuService->getMenu();

        return $this->render($_SERVER['DEFAULT_TEMPLATE'].'/forum/Thread_View.twig',[
            'title'=>'Forum - '.$_SERVER['APP_NAME'],'lang'=>'pl','APP_NAME'=>$_SERVER['APP_NAME'],'logoSite'=>$_SERVER['SHOW_logo'],'navFooter'=>$_SERVER['NAV_FOOTER'],'footer'=>$_SERVER['FOOTER'],'pageName'=>"Forum",'MainMenu' => $mainMenu,'user'=>$this->getUser(),'profile'=>$threadid->getForum()->getCategory()->getIsItUserPrivateForum()->getUserAdmin(),'forumCre'=>$threadid->getForum()->getCategory()->getIsItUserPrivateForum(),'forum'=>$threadid->getForum(),'thread'=>$threadid,'posts_pagination'=>$pagination,'postsLikes'=>$postsLikes,'page'=> $request->query->get('page'),'theme'=>$this->theme

        ]);
        //return new Response('done');
    }

使用语句:

use App\Entity\Account;

use App\Entity\ForumCategory;
use App\Entity\PostsLikes;
use App\Entity\UserForumCategory;
use App\Entity\UserForumForum;
use App\Entity\UserForumPost;
use App\Entity\UserForumTopic;
use App\Entity\UserPrivateForum;
use App\Repository\AccountRepository;
use App\Repository\ForumCategoryRepository;
use App\Repository\ForumForumRepository;
use App\Repository\PostsLikesRepository;
use App\Repository\UserForumCategoryRepository;
use App\Repository\UserForumForumRepository;
use App\Repository\UserForumPostRepository;
use App\Repository\UserForumTopicRepository;
use App\Repository\UserPrivateForumRepository;
use App\Services\MainMenuService;
use App\Services\Validation;
use Doctrine\ORM\EntityManagerInterface;
use Knp\Component\Pager\PaginatorInterface;
use Sensio\Bundle\FrameworkExtraBundle\Configuration\Security;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\JsonResponse;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\HttpFoundation\RequestStack;
use Symfony\Component\HttpFoundation\Response;
use Symfony\Component\HttpFoundation\Session\SessionInterface;
use Symfony\Component\HttpKernel\Event\ControllerEvent;
use Symfony\Component\HttpKernel\Event\KernelEvent;
use Symfony\Component\HttpKernel\Event\RequestEvent;
use Symfony\Component\HttpKernel\HttpCache\SubRequestHandler;
use Symfony\Component\HttpKernel\HttpKernelInterface;
use Symfony\Component\Routing\Annotation\Route;
use Symfony\Component\Security\Core\User\UserInterface;
use Knp\Bundle\PaginatorBundle\Subscriber\SlidingPaginationSubscriber;
use Psr\Log\LoggerInterface;

正如您在控制器中看到的那样,我的分页器将session作为值。我尝试只留下10个,但仍然出现错误

请帮助

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)