2
votes

I have a column name called "deleted" in a third party database (which I cannot change). When I generate the object model with propel, it generates a base class with a property called "$deleted" for its own use. It then adds my "deleted" column as a property also called "$deleted". When trying to execute a query, it complains "Cannot redeclare Base\myClass::$deleted". How can I stop propel from generating a Base object with a property which is the same name as the database column? Is there a way I can do this in the schema.xml? I tried to use the phpNamingMethod attribute but this only changes the method name, not the member variable.

This is generated by propel on every Base object:

 /**
     * attribute to determine whether this object has been deleted.
     * @var boolean
     */
    protected $deleted = false;

This is generated from my schema.xml file:

 /**
     * The value for the deleted field.
     * @var        int
     */
    protected $deleted;
1

1 Answers

2
votes

Just define another phpName.

<column name="deleted" phpName="otherDeleteName" type="boolean" />