我正在开发一个项目,需要获取数据表来帮助我显示某些仪表板的大量信息。这些信息需要可更新,因为它将用作管理面板。
我的问题如下: 按照文档中描述的安装过程后,我尝试使用示例来检查一切是否正常。显然不是,因为出现以下错误:
“无法自动装配“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 文件中注册捆绑包,但似乎没有任何效果。 你们中的一些人是否遇到过同样的问题或有解决办法?
非常感谢您的回答,如果您需要更多信息,请告诉我,这是我的第一篇文章^^'
调试您的容器。如果您找不到该服务,只需将其添加到您的 service.yaml 文件中。这应该有效。
Omines\DataTablesBundle\DataTableFactory:~