我创建了一个Controller并将其命名为DataTableController
类。但是现在我收到一条错误消息
InvalidArgumentException
无法确定控制器参数 “ App \ Controller \ DataTableController :: usersAction()”:$ request 参数通过不存在的类或接口进行类型提示: “ App \ Controller \ Request”。您忘记添加使用声明了吗?
如何找出需要添加的使用说明?
<?php
namespace App\Controller;
use DataTables\DataTablesInterface;
use Symfony\Bundle\FrameworkBundle\Controller\Controller;
use Symfony\Component\Routing\Annotation\Route;
/**
*
* @Route("/users", name="users")
*
* @param Request $request
* @param DataTablesInterface $datatables
* @return JsonResponse
*/
class DataTableController extends Controller
{
const ID = 'users';
public function usersAction(Request $request, DataTablesInterface $datatables): JsonResponse
{
try {
// Tell the DataTables service to process the request,
// specifying ID of the required handler.
$results = $datatables->handle($request, 'users');
return $this->json($results);
}
catch (HttpException $e) {
// In fact the line below returns 400 HTTP status code.
// The message contains the error description.
return $this->json($e->getMessage(), $e->getStatusCode());
}
}
}
答案 0 :(得分:3)
缺少 ngOnInit() {
this.result= this.books.filter(
book => book.store_id === this.store.id);
}
:
use
use Symfony\Component\HttpFoundation\Request;
和JsonResponse
也可能丢失。使用您的IDE自动完成功能导入这些类
答案 1 :(得分:1)
我能够通过运行找到它:
php ./bin/console debug:autowiring
此外,您可以运行相同的命令,但带有--show-private
标志:
php ./bin/console debug:container --show-private
我希望这会有所帮助。