передача данных с формы в pivot таблицу laravel

276
18 декабря 2017, 15:22

Добрый день! Недавно начал изучать ларавел и возникла проблема (в интернете ничего подобного не нашел либо не правильно составлял запрос) есть форма для добавления юзера(админка)

в поле Категория выбираются привилегии для него. Ниже показано как я добавляю пользователя в базу

User::create([
        'email' => $request->email,
        'password' => bcrypt($request->password)
    ]);

В моделях для User и Role установлены отношения м-м в бд есть смешанная таблица по внешним ключам к юзеру и роли. Как по выбранной категории установить права для только что созданного пользователя? нужно в смежную таблицу записать id пользователя и id роли

прошу помочь реализовать это, либо посоветовать материал который поможет мне с этим

Answer 1

В данном случае у вас связь многие ко многим, всё что нужно сделать, это: 1) Прописать связь пользователя с ролью в модели пользователя:

class User extends Model
{
    public function roles()
    {
        return $this->belongsToMany('App\Role')->withTimestamps();
    }
}

2) Аналогично делаем с ролями:

class Role extends Model
{
    public function users()
    {
        return $this->belongsToMany('App\User')->withTimestamps();
    }
}

3) Потом после создания пользователя привязываем к нему роль:

$user = User::create([
    'email' => $request->email,
    'password' => bcrypt($request->password)
]);
$user->roles()->attach($request->input('role_id')); // Или как там у вас называется поле.

Так же к связям добавил метод withTimestampsчтобы так же записывалась дата как у вас на скриншоте.

Информация по созданию реляции.

Информация по сохранению.

READ ALSO
Показ ячеек таблицы в зависимости от select

Показ ячеек таблицы в зависимости от select

Доброго времени сутокИмеется следующая динамическая таблица через php:

227
Пересылка файла

Пересылка файла

Нужно на Pythone (35) написать клиент отправляющий файл (example

226
Если идёт селект только одной колонки, могу ли я не использовать fetch_assoc?

Если идёт селект только одной колонки, могу ли я не использовать fetch_assoc?

Настрочил в горячке бредовый код, теперь сижу, исправляюУ меня есть запрос к бд:

223