Вывести страницы из базы данных
Сначала надо убедиться что существует файл src/Repository/PostsRepository.php. Если данного файла нет, то его надо создать через команду make:entity
.
# Создание модели (также можно указать поля для таблицы) php bin/console make:entity Posts # Создание таблицы «posts» в базе данных php bin/console make:migration php bin/console doctrine:migrations:migrate
Выборка записей происходит через метод {repository}->find()
и {repository}->findAll()
.
# src/Controller/PostsController.php class PostsController extends AbstractClass { // выборка всех записей public function index(PostsRepository $postsRepository): Response { $posts = $postsRepository->findAll(); return $this->render('posts/index.html.twig', ['posts' => $posts]); } // выборка указанной записи (2 способа) public function show(Posts $post): Response { // 1-ый, на странице уже доступна запись $post return $this->render('/posts/', ['post' => $post]); // 2-ой, выбрать указанную запись через код $post = $postsRepository->find($id); } }
Выбрать записи с условием можно через методы {repository}->findBy()
и {repository}->findOneBy()
.
// выборка записей с условием $posts = $postsRepository->findBy(['active' => 1]); // выборка указанной записи с условием $posts = $postsRepository->findOneBy(['id' => 17, 'active' => 1]);
Авторизуйтесь, чтобы добавлять комментарии