Symfony:从postgresql获取时吃掉了我所有的公羊



首先,我使用的是:

  • KDE-neon用户版5.20(Ubuntu 20.04(
  • symfony CLI v4.21.3
  • php v7.4.3
  • PostgreSQL v12.5

也安装了Apache2,但我使用的是symfony本地服务器
Apache2和PostgreSQL都被禁用了,每当我想处理这个项目时,我都会启动它们。

使用php bin/console创建实体和迁移时没有遇到任何问题
php bin/console doctrine:migrations:migrate命令正确地创建了我的表
在表中插入数据没有问题。

我有两张不同的桌子:

  • 房间
  • 用户

它们在我的数据库的公共模式中,目前分别有2行和6行。

我正试图在我的控制器中运行以下代码,只是为了测试:

class MainController extends AbstractController {
/**
* @Route("/", name="index")
*/
public function index(): Response {
$room = $this->getDoctrine()->getManager()->getRepository(Room::class)->find(1);
var_dump($room);
return $this->render("main/index.html.twig", [
"controller_name" => "welcome"
]);
}
}

出于某种原因,当我试图在浏览器上加载这个页面时,symfony吃掉了我所有的ram。如果我不关闭选项卡或停止本地服务器,我的计算机就会开始变慢,因为内存已满。

我糟糕的RAM

我还试着简单地使用:

$room = $this->getDoctrine()->getManager()->getRepository(Room::class)->findAll();

我也遇到了同样的问题
但是当试图获取不存在的东西时,一切都很好。

$room = $this->getDoctrine()->getManager()->getRepository(Room::class)->find(999);

这是我设置的东西吗?还是postgresql?

谢谢。

显然,Room对象太大,并且还包含从属对象,因此您的浏览器很难显示大量数据。我建议使用VarDumper组件,而不是var_dump。它在使用内部引用和递归来呈现大型对象方面更有效。

dump($room);

最新更新