Создание директории в Entity Symfony 4

200
12 июля 2018, 07:20

Изучаю Symfony, пытаюсь структурировать файлы, есть следующий класс:

<?php
namespace App\Entity\Admin;
class Variables
{
    private $id;
    private $name;
    private $code;
    private $value;
    private $id_language;
    public function getId(): int
    {
        return $this->id;
    }
    public function getId_language(): int
    {
        return $this->id_language;
    }
    public function getValue(): string
    {
        return $this->value;
    }
}  

Лежит он тут:

Мапинг чуть ниже. Если я переношу класс Variables в корневую директорию Entity - все работает. Когда переношу в папку Admin получаю следующую ошибку:

No mapping file found named 'Variables.orm.yml' for class 'App\Entity\Admin\Variables'.

Что тут написано мне понятно, не понятно где он пытается искать файл маппинга, ведь по факту он существует, что нужно сделать что бы он его увидел?

Answer 1

Могу предположить, что у вас стандартный конфиг маппингов, возможно даже, который я вам советовал в одном из других вопросов

    mappings:
        App:
            is_bundle: false
            type: yml
            dir: '%kernel.project_dir%/src/Mappings'
            prefix: 'App\Entity'
            alias: App

В вашем случае, вы вынесли энтити в другой namespace, теперь, надо сконфигурировать это, чтобы доктрина понимала, что и где искать:

    mappings:
        User:
            is_bundle: false
            type: yml
            dir: '%kernel.project_dir%/src/Mappings/User'
            prefix: 'App\Entity\User'
        Admin:
            is_bundle: false
            type: yml
            dir: '%kernel.project_dir%/src/Mappings/Admin'
            prefix: 'App\Entity\Admin'

Обязательное условие - namespace маппинга должен совпадать с энтити

READ ALSO
Авторизация в Instagram с помощью php?

Авторизация в Instagram с помощью php?

Есть сайт с авторизацией через ИнстаграмВ API инста добавил приложение и всё что для него нужно

166
Проверка текстового поля на ввод цифр

Проверка текстового поля на ввод цифр

Как проверить текстовое поле, получаемое через post на цифры, и вывести ошибку?

200
AES-256-CMC не шифрует

AES-256-CMC не шифрует

Не шифруется кусок html файла с картинкой (base64)Если без картинки, то кусок html шифруется

164