tabla - laravel crud users
Laravel agrega datos a la tabla dinámica mientras inserta un nuevo registro (1)
Tengo tres mesas,
roles(id, name);
users(id, email, password);
user_role(id, user_id, role_id);
En este escenario, la tabla de usuarios está asociada a la tabla de roles con muchas a muchas relaciones.
Tengo dos modelos elocuentes como
Role
+users(){
belongsToMany(''User'')
}
User
+roles(){
belongsToMany(''Role'')
}
Ahora, la pregunta es cuándo quiero agregar un nuevo usuario junto con los identificadores de roles que me gustaría asignar a los usuarios. ¿Cómo puedo insertar valores en la tabla dinámica con las mejores prácticas de Laravel?
Mi código existente es: -
$roles = Input::get(''roles''); // arrays of role ids
$user = new User();
$user->username = Input::get(''username'');
$user->password = Hash::make(Input::get(''password''));
$user->save();
¿Qué hacer a continuación?
Realmente todo está laravel.com/docs/4.2/eloquent#inserting-related-models .
De todos modos, así es como lo haces:
$user = new User();
$user->username = Input::get(''username'');
$user->password = Hash::make(Input::get(''password''));
$user->save();
$user->roles()->attach($roles);
La parte importante es que tiene que guardar al usuario antes de adjuntar los roles, porque de lo contrario, el usuario no tiene todavía una identificación para usar en la tabla dinámica.