我在以前作業的控制器中收到此錯誤。
我添加了一些新的控制器(具有不同的路由前綴),所以我猜錯誤可能來自生成的那些新路由,但是,老實說,我很困惑這個錯誤如何出現在一個長時間未更改的控制器中.
這是我的控制器代碼:
ContractController.php
/**
* @Route("/contract")
*/
class ContractController extends AbstractController
{
/**
* @Route("/edit/{id}", name="contract_edit", methods={"GET","POST"})
*/
public function edit(Request $request, DocumentManagerService $dm, EventDispatcherInterface $dispatcher, Contract $contract): Response
{
}
訪問時出現此錯誤/contract/edit/1234:
@ParamConverter 注釋未找到 App\Entity\Contract 物件。
如果我添加 @ParamConverter 注釋,如下所示:
* @ParamConverter("contract", options={"mapping": {"id" : "id"}})
我犯了同樣的錯誤。同一個控制器中的其他路由也會發生同樣的錯誤,正如我所說的,它們之前都在作業。
如果我debug:router在控制臺中,我會得到路由前綴為 的命中/contract,所有這些都在這個控制器中。
contract_debug GET ANY ANY /contract/debugcontract/show/{id}
contract_debug_edit GET|POST ANY ANY /contract/debugcontract/edit/{id}
contract_debug_renew GET|POST ANY ANY /contract/debugcontract/renew/{id}
contract_index GET ANY ANY /contract/list
contract_new GET|POST ANY ANY /contract/new/{client_id}
contract_edit GET|POST ANY ANY /contract/edit/{id}
contract_add_payment GET|POST ANY ANY /contract/addpayment/{id}/{renew}/{cardid}
contract_payment_delete GET ANY ANY /contract/deletepayment/{id}
contract_show GET ANY ANY /contract/show/{id}
contract_send_and_block GET ANY ANY /contract/send/{id}
contract_protect GET ANY ANY /contract/protect/{id}/{protect}
contract_generate_invoice GET ANY ANY /contract/invoice/{id}/{send}
uj5u.com熱心網友回復:
我發現了錯誤,它與路線無關。
我ContractRepository為此物體創建了一個新類,并復制/粘貼了基本代碼,結果如下:
class ContractRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry, Client::class);
}
}
我正在向建構式發送另一個物體類,它應該是Contract,而不是Client。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/380554.html
