25. Crear un crud para los roles
3 comentarios
Inicia sesión para comentar
Comentarios:
-
Blanca Segura hace 1 año
Una ayuda … estoy en la última fase y tengo el error "ErrorException
Array to string conversion"
Justo después de agregar el “validate” en la función “store” …
-------------------------------------------------
public function store(Request $request)
{
$request->validate([
'name' => 'required'
]);
$role = Role::create($request->all());
$role->permissions()->sync($request->permissions);
return redirect()->route('admin.roles.edit', $role)->with('info', 'El rol se creó con éxito');
}
-----------------------------------------
-
Victor Arana Flores hace 1 año
El error te da cuando pones el validate? Qué raro, no encuentro ningun error en lo que me has pasado.
Por capturas, para ver si encuentro el error. Capturas de tu codigo asi como del error, pero el error no solo el mensaje, sino tambien la descripcion del error.
-
-
Gabriel Griffin hace 1 año
Me da el siguiente error cuando le doy crear rol: “Array to string conversion”.
Que puedo hacer?
-
Gabriel Griffin hace 1 año
public function store(Request $request)
{
$request->validate([
'name' => 'required'
]);
$role = Role::create($request->all());
$role->permissions()->sync($request->permissions);
return redirect()->route('admin.roles.edit', $role)->with('info', 'El rol se creó con éxito');
}
-
Gabriel Griffin hace 1 año
El store de RoleController te debe quedar así para que no te de el error: "Array to string conversion"
public function store(Request $request)
{
$request->validate([
'name' => 'required'
]);
$role = Role::create($request->except('permissions'));
$role->permissions()->sync($request->permissions);
return redirect()->route('admin.roles.edit', $role)->with('info', 'El rol se creó con éxito');
}
-
Victor Arana Flores hace 1 año
Hola Gabriel, que bueno que llegaste a la solución. Hace mucho que grabe este curso y no recuerdo exactamente el código que escribí.
-
Blanca Segura hace 1 año
Muchas Gracias … Ahora veo que el error se debe a que no se especifica el tipo de $request.
No se modificó: $role = Role::create($request->all());
Debió de haber sido:
$role = Role::create($request->except('permissions'));
-
Victor Arana Flores hace 1 año
No recuerdo bien como estructure el curso, pero puedo aportar con lo siguiente.
El error que les está apareciendo puede deberse a la forma en la que han habilitado la asignación masiva.Cuando habilitan la asignación masiva con la propiedad $fillable; a la hora de crear un nuevo registro, Eloquent compara esa propiedad con los campos que le estás pasando, y solo considera aquellos campos definidos en dicha propiedad (me parece que yo use la propiedad fillable por eso no me da ningun error)
Cuando utilizas la propiedad guarded, lo que hace eloquent, es eliminar del array que le pases, aquellos campos que coincidan con la propiedad guarded, y claro, no va eliminar los permisos y por tanto cuando intentes crear un nuevo rol, tambien tomara los permisos y por eso el error
La solución sería la que propusiste, o en su defecto, cambiar el guarded por un fillable.
-
-
José Manuel Herrero hace 2 años
ERROR
barce@LAPTOP-035KM4CA MINGW64 /c/xampp/htdocs/blog
$ php artisan migrate:fresh --seed
Dropped all tables successfully.
Migration table created successfully.
Migrating: 2014_10_12_000000_create_users_table
Migrated: 2014_10_12_000000_create_users_table (60.21ms)
Migrating: 2014_10_12_100000_create_password_resets_table
Migrated: 2014_10_12_100000_create_password_resets_table (30.74ms)
Migrating: 2014_10_12_200000_add_two_factor_columns_to_users_table
Migrated: 2014_10_12_200000_add_two_factor_columns_to_users_table (8.64ms)
Migrating: 2019_08_19_000000_create_failed_jobs_table
Migrated: 2019_08_19_000000_create_failed_jobs_table (28.79ms)
Migrating: 2019_12_14_000001_create_personal_access_tokens_table
Migrated: 2019_12_14_000001_create_personal_access_tokens_table (41.79ms)
Migrating: 2022_03_07_092353_create_sessions_table
Migrated: 2022_03_07_092353_create_sessions_table (69.42ms)
Migrating: 2022_03_07_094312_create_categories_table
Migrated: 2022_03_07_094312_create_categories_table (12.83ms)
Migrating: 2022_03_07_095012_create_posts_table
Migrated: 2022_03_07_095012_create_posts_table (101.74ms)
Migrating: 2022_03_07_101812_create_tags_table
Migrated: 2022_03_07_101812_create_tags_table (13.87ms)
Migrating: 2022_03_07_103218_create_post_tag_table
Migrated: 2022_03_07_103218_create_post_tag_table (164.66ms)
Migrating: 2022_03_07_123006_create_images_table
Migrated: 2022_03_07_123006_create_images_table (16.86ms)
Migrating: 2022_03_16_084749_create_permission_tables
Migrated: 2022_03_16_084749_create_permission_tables (398.22ms)
Seeding: Database\Seeders\RoleSeederIlluminate\Database\QueryException
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'description' in 'field list' (SQL: insert into `permissions` (`guard_name`, `name`, `description`, `updated_a
t`, `created_at`) values (web, admin.home, Ver el dashboard, 2022-03-17 21:20:44, 2022-03-17 21:20:44))at C:\xampp\htdocs\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:716
712▕ // If an exception occurs when attempting to run a query, we'll format the error
713▕ // message to include the bindings with SQL, which will make this exception a
714▕ // lot more helpful to the developer instead of just the database's errors.
715▕ catch (Exception $e) {
➜ 716▕ throw new QueryException(
717▕ $query, $this->prepareBindings($bindings), $e
718▕ );
719▕ }
720▕ }1 C:\xampp\htdocs\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:495
PDOException::("SQLSTATE[42S22]: Column not found: 1054 Unknown column 'description' in 'field list'")2 C:\xampp\htdocs\blog\vendor\laravel\framework\src\Illuminate\Database\Connection.php:495
PDO::prepare("insert into `permissions` (`guard_name`, `name`, `description`, `updated_at`, `created_at`) values (?, ?, ?, ?, ?)")barce@LAPTOP-035KM4CA MINGW64 /c/xampp/htdocs/blog
$
-
Blanca Segura hace 1 año
Esto se debió seguramente (Pues a mi me pasó lo mismo) no guardar los cambios de las tablas antes de hacer la migración
-
Victor Arana Flores hace 1 año
El error ahi indica que esta fallando la ejecución del seeder RoleSeeder, ya que está intentando almacenar un registro en la tabla description, y dicha tabla no esta definida.
-