自动装配不适用于带有 Symfony 7 的 Omines DataTables Bundle

问题描述 投票:0回答:1

我正在开发一个项目,需要获取数据表来帮助我显示某些仪表板的大量信息。这些信息需要可更新,因为它将用作管理面板。

我的问题如下: 按照文档中描述的安装过程后,我尝试使用示例来检查一切是否正常。显然不是,因为出现以下错误:

“无法自动装配“App\Controller\AdminPanelController::showAction()”的参数 $dataTableFactory:它引用类“Omines\DataTablesBundle\DataTableFactory”,但不存在此类服务。”

我正在使用 PHP 8.* 和 Symfony 7.*,所以我应该能够使用所示的示例,但我想知道自 Symfony 7 更新以来注入是否正常工作

这是我的控制器:

namespace App\Controller;

use Omines\DataTablesBundle\Adapter\ArrayAdapter;
use Omines\DataTablesBundle\Column\TextColumn;
use Omines\DataTablesBundle\DataTableFactory;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;

class AdminPanelController extends AbstractController
{
    #[Route('/admin_panel', name: 'admin_panel')]
    public function showAction(Request $request, DataTableFactory $dataTableFactory)
    {
        $table = $dataTableFactory->create()
            ->add('firstName', TextColumn::class)
            ->add('lastName', TextColumn::class)
            ->createAdapter(ArrayAdapter::class, [
                ['firstName' => 'Donald', 'lastName' => 'Trump'],
                ['firstName' => 'Barack', 'lastName' => 'Obama'],
            ])
            ->handleRequest($request);

        if ($table->isCallback()) {
            return $table->getResponse();
        }

        return $this->render('admin.html.twig',
            ['datatable' => $table]
        );
    }
}

我尝试修改控制器,在 config/bundles.php 文件中注册捆绑包,但似乎没有任何效果。 你们中的一些人是否遇到过同样的问题或有解决办法?

非常感谢您的回答,如果您需要更多信息,请告诉我,这是我的第一篇文章^^'

symfony datatables symfony7
1个回答
0
投票

调试您的容器。如果您找不到该服务,只需将其添加到您的 service.yaml 文件中。这应该有效。

Omines\DataTablesBundle\DataTableFactory:~

© www.soinside.com 2019 - 2024. All rights reserved.