我的数据库模型如下所示:
一个用户可以管理多个公司(USER n:n COMPANY),假设它们在中间表 USER_COMPANY 中连接,并且该表有一个附加字段“active”。
我已经为两个表创建了 EntityDefinitions,并为中间表创建了 MappingDefinition:
公司:
class CompanyDefinition extends EntityDefinition
{
...
protected function defineFields(): FieldCollection
{
return new FieldCollection([
(new IdField('id', 'id'))->addFlags(new PrimaryKey(), new Required()),
...
new ManyToManyAssociationField(
'users',
UserDefinition::class,
CompanyUserDefinition::class,
'company_id',
'user_id'
),
]);
}
}
Run Code Online (Sandbox Code Playgroud)
用户:
class UserDefinition extends EntityDefinition
{
....
protected function defineFields(): FieldCollection
{
return new FieldCollection([
(new IdField('id', 'id'))->addFlags(new PrimaryKey(), new Required()),
...
new ManyToManyAssociationField(
'companies',
CompanyDefinition::class,
CompanyUserDefinition::class,
'user_id',
'company_id'
),
]);
}
}
Run Code Online (Sandbox Code Playgroud)
公司_用户:
class CompanyUserDefinition extends EntityDefinition …Run Code Online (Sandbox Code Playgroud) 有什么办法可以在另一个类的更多实例上共享一个变量(类的对象)?静态成员不是我想要的.我知道一个变量(大对象)将在更多实例之间共享(但不是所有实例).我怎么能用C++做到这一点?谢谢你的帮助.
例:
class ClassA {
public:
...
private:
ClassB object; // this variable will be shared among more instances of ClassA
}
Run Code Online (Sandbox Code Playgroud)