Yii:命名关系和字段
我为DB字段和关系编写了一些同名的Yii代码:Yii:命名关系和字段,yii,naming-conventions,Yii,Naming Conventions,我为DB字段和关系编写了一些同名的Yii代码: public function relations() { return array( 'kin' => array(self::BELONGS_TO, 'Kin', 'kin'), 'child' => array(self::BELONGS_TO, 'Child', 'child'), ); } 现在我明白这是错误的,因为字段属性上的关系“覆盖”和获取子ID的查询(如$this->c
public function relations()
{
return array(
'kin' => array(self::BELONGS_TO, 'Kin', 'kin'),
'child' => array(self::BELONGS_TO, 'Child', 'child'),
);
}
现在我明白这是错误的,因为字段属性上的关系“覆盖”和获取子ID的查询(如$this->child
)不起作用
我的问题:对于DB字段和关系,您建议采用哪种命名方案?首先,我避免在表之后命名主键。这使得这种说法很难理解。我总是把主键命名为childId或kinId;这样就很清楚你在说什么领域了 我认为命名没有硬性规定,除了在你的上下文中使用有意义的东西。对于这种情况,假设我正确理解了您的表结构,我倾向于这样做: 表1:亲属 主键:kinId 表2:儿童 主键:childId 表kin中的外键:fkKinId 然后,假设一个亲属可以有多个子女,则亲属模型中的关系变成:
public function relations()
{
return array(
'children' => array(self::HAS_MANY, 'Child', 'fkKinId'),
);
}
然后,如果您在亲属模型中,可以使用$this->children调用您亲属的子模型。首先,我要避免在表后命名主键。这使得这种说法很难理解。我总是把主键命名为childId或kinId;这样就很清楚你在说什么领域了 我认为命名没有硬性规定,除了在你的上下文中使用有意义的东西。对于这种情况,假设我正确理解了您的表结构,我倾向于这样做: 表1:亲属 主键:kinId 表2:儿童 主键:childId 表kin中的外键:fkKinId 然后,假设一个亲属可以有多个子女,则亲属模型中的关系变成:
public function relations()
{
return array(
'children' => array(self::HAS_MANY, 'Child', 'fkKinId'),
);
}
然后,如果您在亲属模型中,您可以使用$this->children为您的亲属调用子模型。这是否回答了您的问题?如果有,也许你可以接受答案。非常感谢。这回答了你的问题吗?如果有,也许你可以接受答案。非常感谢。