префикс "EO_"?
Можно создать наследника и дополнять как угодно. В доке по ОРМ есть об этом отдельная глава.
Это понятно. Но мне нужен метод этого виртуального класса, устанавливающий значение для поля орм-сущности, описанной в отдельном классе, отнаследованной от DataManager. Это решается без наследника виртуального класса.
А передать вычисленное значение (в отдельном классе), через add \ update - не вариант?
Нет. Через коллекции работаю
А тип "поля" у Вас кастомный получается, через коллекцию присвоение не срабатывает?
Соглашусь с предыдущим коллегой. Почему нельзя менять свойства перебирая коллекцию? Наверное, надо чуть больше подробностей задачи, чтоб лучше понимать для чего и зачем.
Я чуть позже дам больше подробностей
Уточняю. Есть собственный класс EmployeesTable, который extends DataManager. В его методе getMap, описан список полей, вида: 'FACT_ADDRESS' => new StringField('FACT_ADDRESS'), 'GUID1C' => new StringField('GUID1C'), Значение полей для каждого элемента коллекции устанавливаются так: new EO_Employees() ->setFactAddress('значение') ->setGuid1C(trim('значение'); Так вот, метод setFactAddress работает, хотя нигде не объявлен А метод setGuid1C вызывает ошибку Unknown method setGuid1C for object EO_Employees
Проверьте методы класса EO_Employees - https://www.php.net/manual/ru/function.get-class-methods.php
Проверяла. Метод setFactAddress есть, а setGuid1C нет
А что вы хотите в setGuid1C передать ? Внешний ид из 1С ?
Да не суть важно, значиние типа строка
потому что преобразования в CamelCase не так работают скорее всего метод должен быть setGuid1c
Но да. И нужно ещё много значений передавать. Нужно много новых методов
Так в том то и фишка ORM что эти методы - динамические в зависимоти от объекта, покажите вывод get_class_methods
О! Действительно, получилось!
Обсуждают сегодня