прежде всего это то, что я использую:
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 съедает всю мою оперативную память. Если я не закрою вкладку или не остановлю локальный сервер, мой компьютер начнет тормозить, потому что оперативная память заполнена.
Также я попытался просто использовать:
$room = $this->getDoctrine()->getManager()->getRepository(Room::class)->findAll();
И у меня такая же проблема.
Но при попытке получить что-то несуществующее все работает нормально.
$room = $this->getDoctrine()->getManager()->getRepository(Room::class)->find(999);
Это что-то из моей установки? Или постгрескл?
Спасибо.
По-видимому, объект Room слишком велик и содержит зависимые объекты, поэтому ваш браузер с трудом отображает очень большой объем данных. Я бы предложил использовать компонент VarDumper вместо var_dump. Это более эффективно с точки зрения отображения больших объектов с внутренними ссылками и рекурсией.
dump($room);
Да, плохо, я забыл, что var_dump будет отображать все из моего класса. Это довольно неловко. Спасибо за пояснение.