如何解决Symfony 5 getDoctrine->getRepository() 为 foreach() Doctrine CachedReader.php
朋友们,有一个我无法解决的问题。按照 Symfony 5 文档执行会引发异常:为 foreach () 指定的参数无效。堆栈跟踪指向供应商/学说/注释/lib/Doctrine/Common/Annotations/CachedReader.PHP: 107。本质上它不允许我访问控制器中的存储库。重置整个 Symfony 缓存有助于一个请求,然后再次重复异常。尝试使用缓存访问目录访问,没有帮助。我会很高兴这个决定。
实体:
/**
* @ORM\Entity(repositoryClass=AuthorRepository::class)
*/
class Author
{
/**
* @ORM\Id
* @ORM\GeneratedValue(strategy="IDENTITY")
* @ORM\Column(type="integer")
*/
private $id;
// ...
}
存储库:
class AuthorRepository extends ServiceEntityRepository
{
public function __construct(ManagerRegistry $registry)
{
parent::__construct($registry,Author::class);
}
}
控制器:
class AuthorController extends AbstractController
{
/**
* @Route("/author/create",name="author-create")
* Method ({"GET","POST"})
*/
public function actionCreate(Request $request,ValidatorInterface $validator): Response
{
// throw ErrorException !!!
$repository = $this->getDoctrine()->getRepository(Author::class);
}
// ...
}
解决方法
这些是容器内的访问设置。这篇文章帮助了我: Folder permissions when running Symfony in Docker environment
Dockerfile:
&& usermod -u 1000 www-data
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。