У меня есть пользователи и операторы, и у каждого пользователя может быть только один оператор, но у оператора может быть много пользователей
Итак, в модели оператора у меня есть:
public function profile() {
return $this->hasMany(User::class);
}
И в модели пользователяу меня есть:
public function operator() {
return $this->hasOne(Operator::class);
}
Так что я думаю, что у меня есть правильные отношения?
Теперь, если у меня есть поле ввода для управления операторами, и у меня есть поле множественного выбора, поэтому я могу выбрать много пользователей, чтобы добавитьдля этого оператора поле ввода будет выглядеть примерно так:
<select name="profiles[]" id="profiles" multiple="multiple" class="multiselect2 form-control">
@foreach($profiles as $key => $profile)
<option value="{{ $profile->id }}">{{ $profile->name }} {{ $profile->lastname }}</option>
@endforeach
</select>
При отправке формы, которая будет публиковать массив всех выбранных $ профилей (это пользователи из пользовательской таблицы)
Что идетНемного сложно для меня, когда я создаю новый оператор и выбираю, каких пользователей присоединять к оператору, я не знаю, как я могу добавить их и синхронизировать, не имея сводной таблицы, и мне вообще не нужна сводная таблица для этого.
у меня есть таблица operators
, и в ней должны храниться идентификаторы операторов и идентификаторов управляемых пользователей
+----+-------------+---------+
| id | operator_id | user_id |
+----+-------------+---------+
| 1 | 3 | 23 |
| 2 | 3 | 28 |
| 2 | 3 | 36 |
+----+-------------+---------+
Так как я могу добавить (присоединить или подключить) идентификаторы операторов и управляемых пользователей воператоры таble?
Вот мой текущий код контроллера
$user = new User;
$user->name = $request->name;
$user->email = $request->email;
$user->password = bcrypt($request->password);
$user->save();
$user->operator()->attach(['operator_id' => $user->id, 'profile_id' => $request->profiles]);