[英]Cannot autowire entity argument with @ParamConverter declaration
我遇到了@ParamConverter 的問題。 檢測到實體 arguments,例如“服務”。
我認為多重路由 arguments 和 @ParamConverter 是這個問題的責任者。
我試圖停用auto_convert
中的sensio_framework_extra
選項但沒有成功。
Cannot autowire argument $category of "App\Controller\Front\QuestionController::showRandomAction()": it references class "App\Entity\Category" but no such service exists.
sensio_framework_extra:
router:
annotations: false
request:
converters: true
auto_convert: false
/**
* @Route("/{id}/{slug}/", name="app_front_question_show", methods={"GET", "POST"})
* @ParamConverter(name="category", class="App\Entity\Category", options={"mapping": {"slug": "slug"}})
* @ParamConverter(name="question", class="App\Entity\Question", options={"mapping": {"id": "id"}})
*/
public function showAction(
Request $request,
Category $category,
Question $question,
AnswerRepository $answerRepository,
ReportQuestionManager $reportQuestionManager
) {
// ...
}
堆:
* Symfony 4.4
這是因為您正在使用參數轉換器並使用auto_convert: false
停用它們。 您可以查看文檔“您可以通過將 auto_convert 標志設置為 false 來禁用類型提示方法 arguments 功能的自動轉換”
感謝您的回復,但巴蒂斯特是對的。
我設法通過更正 ParamConverter 注釋來做我想做的事。
/**
* @Route("/{id}/{slug}/", name="app_front_question_show", methods={"GET", "POST"})
* @ParamConverter("category", class="App\Entity\Category", options={"mapping": {"slug": "slug"}})
* @ParamConverter("question", class="App\Entity\Question", options={"mapping": {"id": "id"}})
*/
public function showAction(
Request $request,
Category $category,
Question $question,
AnswerRepository $answerRepository,
ReportQuestionManager $reportQuestionManager
) {
// ...
}
我不應該把“name=''”
auto_convert: false
很好,做我想做的事
我關閉帖子。 謝謝
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.