私のデータベースには、user
テーブルがあります。このユーザー テーブルにはいくつかのフィールドがあり、その中にparent_user_id
とuser_class_id
があります。どちらも外部キーであり、どちらも主キーの一部ではありません。私の BaseUser.php には、次のように外部キーがリストされています。
protected $aUserRelatedByUserParentId;
protected $aUserClass;
同様に、私はgetUserClass()
andを持っていますが、 andsetUserClass()
は持っていません。むしろ、私は持っています。これには理由がありますか? もしそうなら、schema.xml でオーバーライドできますか? ここにあります:getUserParent()
setUserParent()
getUserParentId() and setUserParentId()
<?xml version="1.0" encoding="utf-8"?>
<!--Autogenerated by PropelSchemaReverseTask class.-->
<database name="test" defaultIdMethod="native">
<table name="user" phpName="User" idMethod="native">
<column name="id" phpName="Id" type="INTEGER" primaryKey="true" required="true"/>
<column name="parent_user_id" phpName="ParentUserId" type="INTEGER" required="true"/>
<column name="name" phpName="Name" type="VARCHAR" size="45" required="true"/>
<column name="description" phpName="Description" type="VARCHAR" size="45" required="true"/>
<column name="user_class_id" phpName="UserClassId" type="INTEGER" required="true"/>
<foreign-key foreignTable="user_class" name="fk_user_class">
<reference local="user_class_id" foreign="id"/>
</foreign-key>
<foreign-key foreignTable="user" name="fk_user_parent">
<reference local="parent_user_id" foreign="id"/>
</foreign-key>
<index name="fk_user_parent_idx">
<index-column name="parent_user_id"/>
</index>
<index name="fk_user_class_idx">
<index-column name="user_class_id"/>
</index>
<vendor type="mysql">
<parameter name="Engine" value="InnoDB"/>
</vendor>
</table>
<table name="user_class" phpName="UserClass" idMethod="native">
<column name="id" phpName="Id" type="INTEGER" primaryKey="true" required="true"/>
<column name="name" phpName="Name" type="VARCHAR" size="45" required="true"/>
<column name="permissions" phpName="Permissions" type="VARCHAR" size="45" required="true"/>
<vendor type="mysql">
<parameter name="Engine" value="InnoDB"/>
</vendor>
</table>
</database>