@IvanN777

Не работает доктрина из-за того, что читаю и пишу свойства через __call(), можно как-то это обойти?

У меня не Симфони, там что-то похожее есть https://symfony.com/doc/current/components/propert...
static $fields = [
        'id', 'code', 'fullName', 'number', 'color',
        'series', 'weight', 'volume', 'status', 'specStatus', 'type', 'urgency'
    ];
    public function __call($nameFunction, $arguments)
    {
        if (strlen($nameFunction) < 4):
            return;
        endif;
        $prefix = substr($nameFunction, 0, 3);
        $name = lcfirst(substr($nameFunction, 3, strlen($nameFunction) - 3));
        $inFields =  array_search($name, self::$fields);
        if ($prefix == 'get'):
            if ($inFields):
                return $this->$name;
            endif;
        endif;
        if ($prefix == 'set'):
            if ($inFields):
                $value = $arguments[0];
                $this->$name = $value;
            endif;
        endif;
    }

Оно нормально получает значения и записывает, но при ассоциации OneToMany и. т.д оно выдает пустоту.
Ломается на Proxy.
Как обойти эту проблему, очень не хочется писать сеттеры и не хочу юзать аннотацию (комментарий должен быть комментарием).
А на yaml писать функции лень))
  • Вопрос задан
  • 47 просмотров
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы