Error al crear un usuario en un Crud
Publicado por Garikoitz (2 intervenciones) el 26/02/2019 10:53:53
Hola estoy implementando un sistema de roles y permisos basandome en un videotutorial, ya que estoy en proceso de aprendizaje.
El caso es que a la hora de crear un usuario y editarlo me da el mismo error.

Codigo de la vista crear:
Codigo de la vista formulario:
Codigo del modelo User:
Codigo del Controlador, he borrado las partes que si funcionan:
Codigo de las rutas:
El caso es que a la hora de crear un usuario y editarlo me da el mismo error.

Codigo de la vista crear:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
@extends('layouts.app')
@section('content')
<div class="container">
<div class="row justify-content-center">
<div class="col-md-12">
<div class="card">
<div class="card-header">Usuario</div>
<div class="card-body">
{!! Form::open(['route' => 'users.store']) !!}
@include('users.partials.form')
{!! Form::close() !!}
</div>
</div>
</div>
</div>
</div>
@endsection
Codigo de la vista formulario:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
<div class="form-group">
{{ Form::label('name', 'Nombre del Usuario') }}
{{ Form::text('name', null, ['class' => 'form-control', 'id' => 'name']) }}
</div>
<div class="form-group">
{{ Form::label('email', 'Email') }}
{{ Form::email('email', null, ['class' => 'form-control']) }}
</div>
<div class="form-group">
{{ Form::label('password', 'Password') }}
{{ Form::password('password', null, ['class' => 'form-control']) }}
</div>
<hr>
<h3>Lista de Roles</h3>
<div class="form-group">
<ul class="list-unstyled">
@foreach($roles as role)
<li>
<label>
{{ Form::checkbox('roles[]', $role->id, null) }}
{{ $role->name }}
<em>({{ $role->description ?: 'Sin descripción' }})</em>
</label>
</li>
@endforeach
</ul>
</div>
<div class="form-group">
{{ Form::submit('Guardar', ['class' => 'btn btn-sm btn-primary']) }}
</div>
<label>
Codigo del modelo User:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
<?php
namespace App;
use Caffeinated\Shinobi\Traits\ShinobiTrait;
use Illuminate\Notifications\Notifiable;
use Illuminate\Contracts\Auth\MustVerifyEmail;
use Illuminate\Foundation\Auth\User as Authenticatable;
class User extends Authenticatable
{
use Notifiable, ShinobiTrait;
/**
* The attributes that are mass assignable.
*
* @var array
*/
protected $fillable = [
'name', 'email', 'password',
];
/**
* The attributes that should be hidden for arrays.
*
* @var array
*/
protected $hidden = [
'password', 'remember_token',
];
}
Codigo del Controlador, he borrado las partes que si funcionan:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use Caffeinated\Shinobi\Models\Role;
use App\User;
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('users.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$user = User::create($request->all());
return redirect()->route('users.edit', $user->id)
->with('info', 'Usero guardado con éxito');
}
/**
* Update the specified resource in storage.
*
* @param \Illuminate\Http\Request $request
* @param int $id
* @return \Illuminate\Http\Response
*/
public function update(Request $request, User $user)
{
//$user = User::find($id);
$user->update($request->all());
//actualiza los roles
$user->roles()->sync($request->get('roles'));
return redirect()->route('users.edit', $user->id)
->with('info', 'Usuario actualizado con éxito');
}
Codigo de las rutas:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
<?php
/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/
Route::get('/', function () {
return view('welcome');
});
Auth::routes();
Route::get('/home', 'HomeController@index')->name('home');
//Roles y Permisos
Route::middleware(['auth'])->group(function(){
//Users
Route::post('users/store', 'UserController@store')->name('users.store')
->middleware('permission:users.create');
Route::get('users', 'UserController@index')->name('users.index')
->middleware('permission:users.index');
Route::get('users/create', 'UserController@create')->name('users.create')
->middleware('permission:users.create');
Route::put('users/{user}', 'UserController@update')->name('users.update')
->middleware('permission:users.edit');
Route::get('users/{user}', 'UserController@show')->name('users.show')
->middleware('permission:users.show');
Route::delete('users/{user}', 'UserController@destroy')->name('users.destroy')
->middleware('permission:users.destroy');
Route::get('users/{user}/edit', 'UserController@edit')->name('users.edit')
->middleware('permission:users.edit');
});
Valora esta pregunta


0