如何避免yii2(生成的)ActiveRecord基础模型中的重复方法

如何避免yii2(生成的)ActiveRecord基础模型中的重复方法,activerecord,yii2,Activerecord,Yii2,使用./yii helper/models生成基础模型时,我得到了重复的方法 我知道为什么会发生这种情况,但我需要一个解决方案,该解决方案在保持类似的数据约束的同时仍然正确地生成yii2基本模型 样本数据结构 警报(assignedTo,createdBy)->这两个字段都是UserId的外键 ./yii helper/models将在UserBase中生成这些方法 public function getAlerts() { return $this->hasMany(\app\m

使用./yii helper/models生成基础模型时,我得到了重复的方法

我知道为什么会发生这种情况,但我需要一个解决方案,该解决方案在保持类似的数据约束的同时仍然正确地生成yii2基本模型

样本数据结构

警报(assignedTo,createdBy)->这两个字段都是UserId的外键

./yii helper/models将在UserBase中生成这些方法

public function getAlerts()
{
    return $this->hasMany(\app\models\db\Alert::className(), ['assignedTo' => 'id']);
}

public function getAlerts()
{
    return $this->hasMany(\app\models\db\Alert::className(), ['createdBy' => 'id']);
}

如何在仅修改数据库的情况下解决此问题

确定哪个字段有值如何

public function getAlerts()
{
    return $this->hasMany(\app\models\db\Alert::className(), [
        !empty($this->assignedTo) ? 'assignedTo' : 'createdBy' => 'id'
    ]);
}

确定哪个字段有值怎么样

public function getAlerts()
{
    return $this->hasMany(\app\models\db\Alert::className(), [
        !empty($this->assignedTo) ? 'assignedTo' : 'createdBy' => 'id'
    ]);
}

你不能重命名这些函数吗?谢谢@Blizz。重命名模型会导致下一个运行生成器的开发人员出现同样的问题。不应直接修改基本模型。如果Yii中的模型生成存在问题,您最好在github页面本身创建一个问题。您不能重命名函数吗?谢谢@Blizz。重命名模型会导致下一个运行生成器的开发人员出现同样的问题。不应直接修改基本模型。如果Yii中的模型生成存在问题,您最好在github页面本身创建一个问题。您不能重命名函数吗?谢谢@Blizz。重命名模型会导致下一个运行生成器的开发人员出现同样的问题。基本模型永远不应该直接修改。如果Yii中的模型生成存在问题,那么最好在github页面上创建一个问题?