Yii2 如何使用一个活动记录 class 并将其重复用于具有相同模式的多个表

Yii2 How can I use one active record class and reuse it for multiple tables having same schema

如果假设我有 3 个 tables:

学校 (id, name, location)

School_1 (id, name, location)

School_2 (id, name, location)

我有一个扩展 ActiveRecord for School 的模型。我可以对 School_1 和 School_2 使用相同的活动记录 class 吗?因为 table 模式相同,所以我不想使用多个模型 classes.

可能吗?任何帮助,将不胜感激。提前致谢。

您应该简单地覆盖 tableName(),例如对于 School_1 :

class School1 extends School
{
    public static function tableName()
    {
        return 'School_1';
    }
}

如果需要(我认为是),您可以使用 eval().

即时创建这些 类