Laravel 我如何才能建立团队,在迁移和雄辩中为用户提供不同的位置?
我是一名学生,试图了解以下设置的正确迁移和模型功能: 我的球队有不同的位置,比如顶部或中部(可以是空的),还有一个老板。我希望能够使用雄辩来获得:Laravel 我如何才能建立团队,在迁移和雄辩中为用户提供不同的位置?,laravel,eloquent,Laravel,Eloquent,我是一名学生,试图了解以下设置的正确迁移和模型功能: 我的球队有不同的位置,比如顶部或中部(可以是空的),还有一个老板。我希望能够使用雄辩来获得: 用户是(“$user->ownerOf”)所有者的所有团队 用户所在的所有团队(不需要职位,“$user->teams”) 属于团队的所有用户($team->users) 每个职位的用户(“$team->top”) 编辑:用户可以在多个团队中,但只能在给定团队中的一个职位上 目前,我为没有外键的用户使用了一个表,为团队使用了一个表,该表为不同位置的用
$table->bigIncrements('id');
$table->string('name');
$table->bigInteger('owner')->unsigned();
$table->foreign('owner')->references('id')->on('users')->onDelete('cascade');
$table->bigInteger('top_id')->nullable()->unsigned();
$table->foreign('top_id')->references('id')->on('users')->onDelete('cascade');
$table->bigInteger('jungle_id')->nullable()->unsigned();
$table->foreign('jungle_id')->references('id')->on('users')->onDelete('cascade');
有更多的立场,但我认为这应该足以理解这个概念
我可以使用
public function ownerUser()
{
return $this->belongsTo('App\Models\User', 'owner');
}
但是我无法找到一种方法来获取团队中的每个用户(比如$team->users)。对于整个设置,有更好的解决方案吗?比如一张新桌子
提前谢谢 这不起作用,因为一个用户可以在多个团队中。很抱歉没有说清楚,我编辑了这个问题。然后为团队和用户创建一个表,为用户创建另一个表,为用户创建一个表,并使用belongtomy relationship由于职位不同,我需要做些特殊的事情吗?查看belongtomy relationship上的laravel官方文档以更好地理解
public function users(){
return $this->hasMany(Users::class,'team_id','id');
}