チームメンバー
TEAM_IDは、私はそのチームでもあるすべてのチームにIdが属するユーザー、およびどのような他のメンバーを返すためにAPIクエリを送信したい
をUSER_ID。 userIdだけを返すのではなく、名前と電子メールなどの実際のユーザーデータで配列を埋めたいと思っています。Route::get('/user/{id}/teams/', '[email protected]');
User.php(モデル)
class User extends Authenticatable
{
use HasApiTokens, Notifiable;
public function teams()
{
return $this->belongsToMany('App\Team', 'team_user', 'team_id', 'user_id');
}
}
Team.php(モデル)
class Team extends Model
{
public function users()
{
return $this->belongsToMany('App\User', 'team_user', 'team_id', 'user_id');
}
}
TeamUser.php(モデル)
class TeamMember extends Model
{
public function user()
{
return $this->hasOne('App\User');
}
public function team()
{
return $this->hasOne('App\Team');
}
}
UserControllerで。 PHP
class UserController extends Controller
{
public function getTeams($userId) {
return User::find($teamId)->teams()->get();
}
}
これが返されます。
[
{
"id": 6,
"name": "P12",
"location": "Newbury",
"owner": 6,
"active": 1,
"created_at": "2017-12-20 10:18:00",
"updated_at": "2017-12-20 10:18:00",
"pivot": {
"team_id": 6,
"user_id": 6
}
},
{
"id": 4,
"name": "fwffewfffffff",
"location": "ffffffff",
"owner": 4,
"active": 1,
"created_at": "2017-12-19 19:56:27",
"updated_at": "2017-12-19 19:56:27",
"pivot": {
"team_id": 6,
"user_id": 4
}
}
]
を、私はまた、これらの2つのチームのそれぞれに、他のユーザのリストを含めるしたいと思いますが。 user_idsだけでなく、(usersテーブルの)名前と電子メールを使用します。
さらに別のクエリを実行しなくても可能ですか?
を(https://でlaravel.com/docs/5.5/eloquent-relationships#many-to-many)Laravel docs。まず、 'User.php'と' Team.php'(あなたは両方とも 'belongsToMany'でなければなりません)で、' team_members'を2番目の引数として 'User.php'と' Team.php'に追加してください。 [This](http://laraveldaily.com/pivot-tables-and-many-to-many-relationships/)の記事も役立ちます。 – mij