У меня есть имя столбца «удалено» в базе данных сторонних разработчиков (что я не могу изменить). Когда я генерирую объектную модель с помощью propel, она генерирует базовый класс с свойством «$ deleted» для собственного использования. Затем он добавляет мой «удаленный» столбец как свойство, также называемое «$ deleted». При попытке выполнить запрос он жалуется на «Не удается обновить Base \ myClass :: $ deleted». Как я могу остановить продвижение от создания базового объекта со свойством, которое совпадает с именем столбца базы данных? Есть ли способ сделать это в schema.xml? Я попытался использовать атрибут phpNamingMethod, но это только изменяет имя метода, а не переменную-член.Propel ORM с именем столбца «deleted»
Это генерируется Propel на каждом базовом объекте:
/**
* attribute to determine whether this object has been deleted.
* @var boolean
*/
protected $deleted = false;
Это генерируется из моего файла schema.xml:
/**
* The value for the deleted field.
* @var int
*/
protected $deleted;
Я изменил имя phpName на "entityDeleted", но он по-прежнему вызывает переменную-член $ deleted. Я думаю, что это имя столбца используется как переменная-член. – Asagohan
Да, действительно. Похоже, на данный момент это невозможно. Это нелегкое решение. –