【发布时间】:2020-03-23 13:32:43
【问题描述】:
我是 laravel 关系的新手,但我熟悉 SQL。我正在尝试添加一个具有其他值的数据透视表,而不仅仅是两个主要 id。
我有一些用户和一些团队。每个用户可以演奏多种乐器,并且可以在多个团队中,但每个团队只能演奏一种乐器。
我的支点迁移:
Schema::create('team_members', function (Blueprint $table) {
$table->integer('user_id')->unsigned();
$table->integer('team_id')->unsigned();
$table->integer('instrument_id')->unsigned();
$table->foreign('user_id')->references('id')->on('users')->onDelete('cascade');
$table->foreign('team_id')->references('id')->on('teams')->onDelete('cascade');
$table->foreign('instrument_id')->references('id')->on('user_instruments')->onDelete('cascade');
});
我已经看到了:
$team = Team::first();
$team->members->first()->details->instrument_id; // "2"
如何定义user_instruments上的instrument_id之间的关系,这样我就可以做到$team->members->first()->details->instrument
更新: 我找到了这个:https://medium.com/@DarkGhostHunter/laravel-has-many-through-pivot-elegantly-958dd096db
不确定它是否会起作用......
【问题讨论】:
标签: laravel eloquent many-to-many relationship