我对在 OO/DB 关系中做什么有很多了解......
这是数据库模型:
CREATE TABLE User
Id
CREATE TABLE Location
userId
// EDIT oups, wrong !
// placeId
// Should be :
seatId
CREATE TABLE Game
locationId
现在一些代码:
class User
{
private Location locations[]; // need this for several reasons...
public function loadFromDatabase()
{
// Load data from DB
// ...
result = DB::query("SELECT Id FROM Locations WHERE userId="+this->Id);
foreach(result)
{
l = new Location();
l->loadFromDatabase(result);
locations[] = l;
}
}
}
class Location
{
private User user;
public function loadFromDatabase()
{
...
}
}
class Game
{
private Location location;
public loadFromDatabase()
{
/*
Here comes the problem :
how to have a reference to a location
created by the User class ?
*/
}
}
用户在多个位置玩游戏。 编辑:对于用户在座位上播放的每个位置。或者在另一个座位上...... 当我想知道游戏在哪里玩时,我访问 Game.location。当我想知道是谁玩的时候,我访问 Game.location.user
这是我的问题:我希望 Game.location 与 User.locations 之一的引用相同,但我不知道该怎么做......而且,在全球范围内,我觉得我的代码有问题......
有什么帮助吗?谢谢