One or more of your column names for [posts] table conflict with foreign ke y names (User)
tbhaxor opened this issue · 1 comments
tbhaxor commented
Schema File
<?xml version="1.0" encoding="UTF-8"?>
<database name="cms" defaultIdMethod="native">
<table name="posts" phpName="Post">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"></column>
<column name="title" type="varchar" required="true"></column>
<column name="description" type="varchar" required="true"></column>
<column name="created_on" type="bu_timestamp"></column>
<column name="user" type="integer" required="true"></column>
<foreign-key foreignTable="users" phpName="User" refPhpName="Post">
<reference local="user" foreign="id"/>
</foreign-key>
</table>
<table name="users" phpName="User">
<column name="id" type="integer" required="true" primaryKey="true" autoIncrement="true"/>
<column name="name" type="varchar" required="true"/>
<column name="email" type="varchar" required="true"/>
<column name="password" type="varchar" required="true"/>
</table>
</database>
DavidGoodwin commented
The easiest workaround is to rename your column posts.user to posts.user_id, or add a phpName to it of .e.g user_id.
The problem being that Propel wants to create a getUser() method (returning the hydrated User object) AND also a getUser() method that returns the posts.user integer.
Obviously in PHP the two can't exist; so you have to resolve the naming conflict.