OO/DB 関係で何をすべきかについて、私は少しばかり悩んでいます...
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 の 1 つへの同じ参照にしたいのですが、これを行う方法がわかりません...そして、グローバルに、コードに何か問題があると感じています...
助けはありますか?ありがとう