有哪些方法可以模拟没有密码的其他登录(1个用户,一些可播放的字符(。
用户创建团队时,它起作用。但角色创建/加入团队确实更有意义。由于用户hasmany字符,我完全被搞砸了。我怎么知道哪个角色创建/加入团队?只有1个用户很容易。
可能缺少一些一般的编程技能,但我正在学习!
关系
用户hasmany字符<>字符属于用户
角色属于团队<>团队Hasmany角色
url
在团队中。索引我真的没有如何收集团队的所有角色。这URL目前只是/team
。我必须使用诸如/{character}/{team}
之类的东西吗?但是我喜欢/team
的简单性。
代码
我想出了以下内容的变体,但是如果感觉错了。是错误的:d
// how would the app know which of the Characters.Team we need. App and me don't know...
$team = auth()->user()->characters()->team()->first();
$characters = AppCharacter::where('team_id', $team->id)->get();
请为我澄清一下!
关系错误吗?
我的方法错了吗?
我是否缺少轻松的Laravel魔法?
谢谢。
您的方法可能不正确,尽管有一些丢失的信息。
您已经说A 用户可以具有许多字符,并且A Team 可以具有许多字符。一个字符可以在多个团队?
上由于您提出了两个问题,我将首先回答。
由于您询问如何获得团队的角色,因此首先考虑您需要了解团队,然后才能寻找角色。因此,您的URL可能是:
/team/{team id}/
由于您想特别了解团队中的角色,而不一定要了解团队本身,因此您可以附加URL询问这些角色。
/team/{team id}/characters
在问题的后半部分,您不需要了解用户或其角色。只是来自与您在URL相同的关系中的方向。
class Team extends Model {
public function characters() {
return $this->hasMany(Character::class);
}
}
在您的控制器中:
$team = Team::with(['characters'])->find($teamId);