Tengo el código del controlador que es este:
public function edit($ id) { $ admin=DB::table('admin as adm') ->join('users as u', 'adm.id_admin', '=', 'u.u_admin_id') ->select('adm.adm_no', 'adm.adm_nombre', 'adm.adm_apellido1', 'adm.adm_fecha_nacimiento', 'adm.adm_activo', 'u.name as nombre', 'u.email as email') ->where('adm.adm_no', '=', $ id)->get(); return view("admin.edit", ["admin"=>$ admin]); } public function update(AdminFormRequest $ request, $ id) { DB::table('admin as adm') ->where('adm.adm_no', '=', $ id) ->update(['adm.adm_nombre' => $ request->get('adm_nombre'), 'adm.adm_apellido1'=> $ request->get('adm_apellido1'), 'adm.adm_fecha_nacimiento'=> $ request->get('adm_fecha_nacimiento')]); DB::table('users as u') ->join('admin as adm', 'adm.id_admin', '=', 'u.u_admin_id') ->where('adm.adm_no', '=', $ id) ->update(['u.name'=>$ request->get('name'), 'u.email'=>$ request->get('email'), 'u.password'=>$ request->get('password')]); return Redirect::to('admin.index'); }
y el código de la vista es el siguiente:
<div class="container"> <div class="row"> <div class="col-md-8 col-md-offset-2"> <div class="panel panel-default"> <div class="panel-heading">Update</div> <div class="panel-body"> <form class="form-horizontal" method="PATCH" action="{{ route('admin.update', $ admin[0], $ admin[0]->adm_no) }}"> {{ csrf_field() }} <div class="form-group{{ $ errors->has('name') ? ' has-error' : '' }}"> <label for="name" class="col-md-4 control-label">Username</label> <div class="col-md-6"> <input id="name" type="text" class="form-control" name="name" value="{{ $ admin[0]->nombre }}" required autofocus> @if ($ errors->has('name')) <span class="help-block"> <strong>{{ $ errors->first('name') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $ errors->has('adm_nombre') ? ' has-error' : '' }}"> <label for="adm_nombre" class="col-md-4 control-label">Nombre</label> <div class="col-md-6"> <input id="adm_nombre" type="text" class="form-control" name="adm_nombre" value="{{ $ admin[0]->adm_nombre }}" required autofocus> @if ($ errors->has('adm_nombre')) <span class="help-block"> <strong>{{ $ errors->first('adm_nombre') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $ errors->has('adm_apellido1') ? ' has-error' : '' }}"> <label for="adm_apellido1" class="col-md-4 control-label">Apellido1</label> <div class="col-md-6"> <input id="adm_apellido1" type="text" class="form-control" name="adm_apellido1" value="{{ $ admin[0]->adm_apellido1 }}" required autofocus> @if ($ errors->has('adm_apellido1')) <span class="help-block"> <strong>{{ $ errors->first('adm_apellido1') }}</strong> </span> @endif </div> </div> <label for="adm_fecha_nacimiento" class="col-md-4 control-label">Fecha Nacimiento</label> <div class="well"> <input class="date" type="text" id="adm_fecha_nacimiento" value="{{$ admin[0]->adm_fecha_nacimiento}}" name="adm_fecha_nacimiento"></input> </div> <div class="form-group{{ $ errors->has('email') ? ' has-error' : '' }}"> <label for="email" class="col-md-4 control-label">E-Mail Address</label> <div class="col-md-6"> <input id="email" type="email" class="form-control" name="email" value="{{ $ admin[0]->email }}" required> @if ($ errors->has('email')) <span class="help-block"> <strong>{{ $ errors->first('email') }}</strong> </span> @endif </div> </div> <div class="form-group{{ $ errors->has('password') ? ' has-error' : '' }}"> <label for="password" class="col-md-4 control-label">Password</label> <div class="col-md-6"> <input id="password" type="password" class="form-control" name="password" required> @if ($ errors->has('password')) <span class="help-block"> <strong>{{ $ errors->first('password') }}</strong> </span> @endif </div> </div> <div class="form-group"> <label for="password-confirm" class="col-md-4 control-label">Confirm Password</label> <div class="col-md-6"> <input id="password-confirm" type="password" class="form-control" name="password_confirmation" required> </div> </div> <div class="form-group"> <div class="col-md-6 col-md-offset-4"> <button type="submit" class="btn btn-primary"> Actualizar datos </button> </div> </div> </form> </div> </div> </div> </div> </div>
Supuestamente tendría que mandar los datos al metodo update y de ahí redirigirme al método index pero por algo que no comprendo me manda al método show cuando no lo tengo definido:
Las rutas son las siguientes:
D:\xampp\htdocs\libreir>php artisan route:list +--------+-----------+------------------------------------------------+-------------------------+----------------------------------------------------------------------------+-----------------+ | Domain | Method | URI | Name | Action | Middleware | +--------+-----------+------------------------------------------------+-------------------------+----------------------------------------------------------------------------+-----------------+ | | GET|HEAD | / | | Closure | web | | | GET|HEAD | admin | admin.index | libreir\Http\Controllers\AdminController@index | web,admin,auth | | | POST | admin | admin.store | libreir\Http\Controllers\AdminController@store | web,admin,auth | | | GET|HEAD | admin/create | admin.create | libreir\Http\Controllers\AdminController@create | web,admin,auth | | | GET|HEAD | admin/{admin} | admin.show | libreir\Http\Controllers\AdminController@show | web,admin,auth | | | DELETE | admin/{admin} | admin.destroy | libreir\Http\Controllers\AdminController@destroy | web,admin,auth | | | PUT|PATCH | admin/{admin} | admin.update | libreir\Http\Controllers\AdminController@update | web,admin,auth | | | GET|HEAD | admin/{admin}/edit | admin.edit | libreir\Http\Controllers\AdminController@edit | web,admin,auth |