Laravel: вставка «многие ко многим» ⇐ Php
-
Anonymous
Laravel: вставка «многие ко многим»
У меня есть две модели: Пользователь и Команда Связь между ними такая: ManyToMany:
В Пользователе:
публичная функция teamMembers(){ return $this->belongsToMany('App\Team')->withPivot('id');; } И в Команда:
публичная функция teamMembers(){ return $this->belongsToMany('App\User')->withPivot('id');; } Теперь я хочу добавить пользователей в определенную команду. Итак, имя сводной таблицы — team_user.
Теперь данные, которые я хочу вставить в сводную таблицу:
массив:4 [▼ "_token" => "mlwoAgCQYals1N1s2lNa4U5OTgtMNHh9LUhNGrWh" "team_id" => "1" "members_id" => массив:3 [▼ 0 => "2" 1 => "3" 2 => "4" ] "статус" => "1" ] Что я делаю в своем контроллере:
$team_id = $request->get("team_id"); $team = \App\Team::findOrFail($team_id); foreach ($request->get('members_id') as $key => $value) { $team->teamMembers()->attach($team); $команда->сохранить(); } Но он вставляет только одну запись, я имею в виду team_id и первый member_id. Я хочу, чтобы он создавал по одной записи для каждого члена массива members_id. Как я это сделаю?
У меня есть две модели: Пользователь и Команда Связь между ними такая: ManyToMany:
В Пользователе:
публичная функция teamMembers(){ return $this->belongsToMany('App\Team')->withPivot('id');; } И в Команда:
публичная функция teamMembers(){ return $this->belongsToMany('App\User')->withPivot('id');; } Теперь я хочу добавить пользователей в определенную команду. Итак, имя сводной таблицы — team_user.
Теперь данные, которые я хочу вставить в сводную таблицу:
массив:4 [▼ "_token" => "mlwoAgCQYals1N1s2lNa4U5OTgtMNHh9LUhNGrWh" "team_id" => "1" "members_id" => массив:3 [▼ 0 => "2" 1 => "3" 2 => "4" ] "статус" => "1" ] Что я делаю в своем контроллере:
$team_id = $request->get("team_id"); $team = \App\Team::findOrFail($team_id); foreach ($request->get('members_id') as $key => $value) { $team->teamMembers()->attach($team); $команда->сохранить(); } Но он вставляет только одну запись, я имею в виду team_id и первый member_id. Я хочу, чтобы он создавал по одной записи для каждого члена массива members_id. Как я это сделаю?
Мобильная версия