Risposta breve:
Farei una classe terza con metodo "addUserToGame" a cui passi l'user e il game e fa tutte le operazioni del caso
Risposta lunga:
User e Game immagino abbiamo una relazione molti a molti tra di loro, quindi sia User che Game dovrebbero avere una proprietà a testa che identifichi tale relazioni. In particolare, User avrà una collezione di oggeti Game salvati in $games (un utente potrà essere iscritto a molti Game) e un Game avrà una collezione di oggetti User salvati in $users (Un game ha molti utenti iscritti). Quindi user avrà i metodi setGames/getGames/addGame/removeGame e Game avrà i metodi setUsers/getUsers/addUser/removeUser per gestire tale associazione (che poi i metodi add*/remove* in una delle due classi potrebbero anche non esserci). Persistendo l'oggetto User o l'oggetto Game (e qui devi scegliere te quale lato usare come master), grazie a getGames/getUsers salverai la relazione. Visto a Controller:
Codice PHP:
class UserController{
...
function iscriviUtenteAGame($user_id,$game_id)
{
$user = ...; //ripesco l'utente dal db
$game = ...; //ripesco il game dal db
$user->addGame($game);
$user->save();
}
...
}
in un GameController:
Codice PHP:
class GameController{
...
function iscriviUtenteAGame($user_id,$game_id)
{
$user = ...; //ripesco l'utente dal db
$game = ...; //ripesco il game dal db
$game->addUser($user);
$game->save();
}
...
}
Poi tutto il discorso dipende dal tuo model e da come lo usi