gpt4 book ai didi

php - 我如何在 Laravel 的 Eloquent 中表示这种游戏所有者关系

转载 作者:搜寻专家 更新时间:2023-10-31 21:10:33 24 4
gpt4 key购买 nike

我正试图梳理出我遇到的一个逻辑问题,但我不知道还能去哪里问!

我有两个对象,我试图描述它们之间的关系; 用户游戏。所以,现在,我有一个 User 属于许多 Games,一个 Game 属于许多 User。我要描述的是 User 拥有 Game 的特殊情况。据推测,这只是 owner_id 表中的一列。然而,我正在努力确定如何在 Eloquent 中表示这一点。我需要为游戏所有者创建一个新对象吗?或者我可以使用某种用户角色来描述吗?

游戏

class Game extends Eloquent 
{
protected $guarded = array();
public static $rules = array();

// Game belongsToMany User
public function users()
{
return $this->belongsToMany('User');
}

// Need to identify the owner user.
}

用户

class User extends Eloquent
{
protected $guarded = array();
public static $rules = array();

// User belongsToMany Game
public function games()
{
return $this->belongsToMany('Game');
}
}

我什至不知道如何以清晰简洁的方式提出这个问题,所以如果需要更多细节,请不要犹豫,尽管提出。

最佳答案

您需要的是这个表:games_owners。这是它的迁移模式:

Schema::create('games_owners', function($table)
{
$table->increments('id');
$table->integer('user_id');
$table->integer('game_id');
$table->timestamps();
});

这将是您的用户模型:

class User extends Eloquent
{
protected $guarded = array();
public static $rules = array();

// User belongsToMany Game
public function games()
{
return $this->belongsToMany('Game', 'games_owners', 'user_id');
}
}

还有你的游戏模型:

class Game extends Eloquent 
{
protected $guarded = array();
public static $rules = array();

// Game belongsToMany User
public function users()
{
return $this->belongsToMany('User', 'games_owners', 'game_id');
}

// Need to identify the owner user.
}

然后你就可以做这样的事情了:

$user = User::find(1);

foreach($user->games as $game) {
echo $game->name;
}

关于php - 我如何在 Laravel 的 Eloquent 中表示这种游戏所有者关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20751222/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com