Hola y bienvenido, en esta clase, lo que haremos es crear un archivo llamado create.blade.php dentro de la carpeta resource/views/agenda.
En este archivo debe colocar, lo que está en el archivo modelo llamado crear.html.
Esta es la info que debe estar:
@extends('plantilla.plantilla')
@section('titulo','Crear nuevo registro')
@section('contenido')
<div class="container">
<br>
<nav class="navbar navbar-light">
<a class="navbar-brand"><img id="icono" class="img-responsive"
src="https://imge.apk.tools/300/d/3/1/com.widesoft.guiatelefonica.png"></a>
<ul class="nav flex-column text-center">
<li class="nav-item">
<span class="nav-link active">Bienvenido Jhonatan</span>
</li>
<li class="nav-item">
<a class="nav-link" href="#">Cerrar sesión</a>
</li>
</ul>
</nav>
<nav aria-label="breadcrumb">
<ol class="breadcrumb">
<li class="breadcrumb-item"><a href="#">Home</a></li>
<li class="breadcrumb-item"><a href="#">Library</a></li>
<li class="breadcrumb-item active" aria-current="page">Data</li>
</ol>
</nav>
</div>
<form method="POST" action="{{ route('agenda.store') }}">
@csrf
<div class="container register">
<div class="row">
<div class="col-md-3 register-left">
<img src="http://www.idaipqroo.org.mx/wp-content/uploads/2018/06/proteccion-de-datos-personales-791x1024.png" alt=""/>
<h3>Bienvenid@</h3>
<p>Por favor llena los datos correctamente en el sistema!</p>
</div>
<div class="col-md-9 register-right">
<div class="tab-content" id="myTabContent">
<div class="tab-pane fade show active" id="home" role="tabpanel" aria-labelledby="home-tab">
<h3 class="register-heading">Crear nuevo Registro</h3>
<div class="row register-form">
<div class="col-md-6">
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-user text-info"></i></div>
</div>
<input type="text" class="form-control" id="nombres" name="nombres" placeholder="Nombres" required="">
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-user-edit text-info"></i></div>
</div>
<input type="text" class="form-control" id="apellidos" name="apellidos" placeholder="Apellidos" required="">
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-phone text-info"></i></div>
</div>
<input class="form-control" type="number" name="telefono" placeholder="Telefono: 18491115555" id="telefono">
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-mobile-alt text-info"></i></div>
</div>
<input class="form-control" type="number" name="celular" placeholder="Celular: 18491115555" id="Celular">
</div>
</div>
<div class="form-group">
<div class="maxl">
<label class="radio inline">
<input type="radio" name="sexo" value="Masculino" checked>
<span> Masculino </span>
</label>
<label class="radio inline">
<input type="radio" name="sexo" value="Femenino">
<span>Femenino </span>
</label>
</div>
</div>
</div>
<div class="col-md-6">
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-at text-info"></i></div>
</div>
<input type="email" name="email" class="form-control" placeholder="Email" value="" />
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-address-card text-info"></i></div>
</div>
<input type="text" name="posicion" class="form-control" placeholder="Posición" value="" />
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-map-marker-alt text-info"></i></div>
</div>
<select name="departamento" class="form-control">
<option class="hidden" selected disabled>Departamento</option>
<option>Gerencia de TI</option>
<option>Auditoria TI</option>
<option>Contabilidad</option>
</select>
</div>
</div>
<div class="form-group">
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-dollar-sign text-info"></i></div>
</div>
<input type="number" class="form-control" name="salario" placeholder="salario *" value="" />
</div>
</div>
<div class="form-group">
<label >Fecha de nacimiento</label>
<div class="input-group">
<div class="input-group-prepend">
<div class="input-group-text"><i class="fa fa-calendar-alt text-info"></i></div>
</div>
<input type="date" name="fechadenacimiento" id="fechadenacimiento" min="1000-01-01"
max="3000-12-31" class="form-control">
</div>
</div>
<button type="submit" class="redondo btn btn-info"><i class="fas fa-save"></i> Guardar</button>
<a href="{{ route('cancelar') }}" class="redondo btn btn-danger"><i class="fas fa-ban"></i> Cancelar</a>
</div>
</div>
</div>
</div>
</div>
</div>
</div>
</form>
@include('plantilla.footer',['container'=>'container'])
@endsection
En este archivo estamos agregando varias cosas:
El botón cancelar tiene una ruta llamada
{{ route('cancelar') }}
el cual hace referencia al archivo web.php que está en la carpeta route:
Route::get('/cancelar', function() {
return redirect()->route('agenda.index')->with('cancelar','Acción Cancelada!');
})->name('cancelar');
Con esto logramos hacer una redirección a la pagina agenda.index, para poder mostrar un mensaje que diga Acción Cancelada.
Y en el archivo index.blade.php debemos agregar esto para mostrar el mensaje:
@if ( session('cancelar') )
<div class="alert alert-danger alert-dismissible fade show" role="alert">
{{ session('cancelar') }}
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
@endif
Otra cosa que hemos agregado al archivo index es la url en el form
<form method="POST" action="{{ route('agenda.store') }}">
@csrf
Con esta ruta, le decimos a laravel que acceda a nuestro controlador agenda y luego vaya a la función store.
Si no ponemos @csrf nos dirá laravel que la pagina está expirada.
Por otro lado dentro del controlador, debemos poner lo siguiente:
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Agenda;
class AgendaController extends Controller
{
/**
* Display a listing of the resource.
*
* @return \Illuminate\Http\Response
*/
public function index()
{
return view('agenda.index');
}
/**
* Show the form for creating a new resource.
*
* @return \Illuminate\Http\Response
*/
public function create()
{
return view('agenda.create');
}
/**
* Store a newly created resource in storage.
*
* @param \Illuminate\Http\Request $request
* @return \Illuminate\Http\Response
*/
public function store(Request $request)
{
$Agenda = new Agenda;
$Agenda->nombres = $request->nombres;
$Agenda->apellidos = $request->apellidos;
$Agenda->telefono = $request->telefono;
$Agenda->celular = $request->celular;
$Agenda->sexo = $request->sexo;
$Agenda->email = $request->email;
$Agenda->posicion = $request->posicion;
$Agenda->departamento = $request->departamento;
$Agenda->salario = $request->salario;
$Agenda->fechadenacimiento = $request->fechadenacimiento;
$Agenda->save();
return redirect()->route('agenda.index')->with('datos','Registro guardado correctamente!');
//return 'Registro guardado correctamente!';
}
¿Qué hicimos?
Agregamos el modelo App\Agenda en la parte del use, y también creamos las funciones store y created.
Espero les haya servidor, así que sin masssss nos veremos en la próxima..