问题:
每当我尝试访问该应用程序时,都会收到此错误:
ContextErrorException:Catchable Fatal Error:传递给的参数1 PL \ OrderBundle \ Entity \ OrderHasComment :: __ construct()必须实现 接口Symfony \ Component \ Security \ Core \ SecurityContextInterface, 没有给出,被称为 /var/www/html/apps/portal_de_logistica/vendor/sonata-project/doctrine-orm-admin-bundle/Model/ModelManager.php 在第416行并在中定义 /var/www/html/apps/portal_de_logistica/src/PL/OrderBundle/Entity/OrderHasComment.php 第48行
我做错了什么?
答案 0 :(得分:3)
PL\OrderBundle\Entity\OrderHasComment
的构造函数请求强制参数,但是在创建对象的新实例时不提供它。
您正在创建一个新的OrderHasComment(无论是什么),如下所示:
$object = new OrderHasComment() // <- missing argument
删除它 - 一旦你的监听器调用setContext(...)
这样的东西就不再需要它了,并且不需要创建对象......所以它不应该是强制性的。
// remove the mandatory argument or provide a default (i.e. $context = null)
public function __construct(ContextInterface $context) /
{
// ...
......应该成为:
public function __construct()
{
这解决了导致异常的问题。