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()
.
即时创建这些 类
如果假设我有 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()
.