0% encontró este documento útil (0 votos)
103 vistas

CRUD Con Laravel

El documento describe los pasos para crear una aplicación CRUD básica con Laravel para gestionar categorías. Estos incluyen 1) crear el proyecto Laravel, 2) crear la base de datos y tabla de categorías, 3) generar el modelo, controlador y vistas, 4) establecer las rutas y 5) ejecutar la aplicación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
0% encontró este documento útil (0 votos)
103 vistas

CRUD Con Laravel

El documento describe los pasos para crear una aplicación CRUD básica con Laravel para gestionar categorías. Estos incluyen 1) crear el proyecto Laravel, 2) crear la base de datos y tabla de categorías, 3) generar el modelo, controlador y vistas, 4) establecer las rutas y 5) ejecutar la aplicación.
Derechos de autor
© © All Rights Reserved
Nos tomamos en serio los derechos de los contenidos. Si sospechas que se trata de tu contenido, reclámalo aquí.
Formatos disponibles
Descarga como DOCX, PDF, TXT o lee en línea desde Scribd
Está en la página 1/ 6

CRUD con Laravel

1. Iniciar la consola de comandos y ubicarse en la raiz del disco c para crear el


proyecto CRUD

C:\>composer create-project --prefer-dist laravel/laravel CRUD

2. Crear en sublime el siguiente script de base de datos y grabarlo en la carpeta


CRUD\database con el nombre de ventas.sql

drop database if exists ventas;


create database ventas;
use ventas;
create table categorias(
id int auto_increment,
categoria varchar(50),
primary key(id));
insert into categorias(categoria) values('ABARROTES');
insert into categorias(categoria) values('FRUTAS');
insert into categorias(categoria) values('LICORES');

3. Iniciar XAMPP con Apache y Mysql para ejecutar el script de la base de datos
con Phpmyadmin

4. Ingresando a la carpeta de CRUD crear el modelo Categoria

C:\>php artisan make:model Categoria

Luego abrimos con sublime el modelo dentro de la capeta CRUD\app para


agregar dentro de la clase un arreglo protegido $fillable con los campos que
vamos a utilizar. En este caso el campo categoria.

class Categoria extends Model


{
//
protected $fillable = ['categoria'];
public $timestamps=false;
}

5. Crear el controlador

php artisan make:controller CategoriaController --resource


6. Implementar los métodos del controlador

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Categoria;

class CategoriaController extends Controller


{
public function index()
{
$categorias=Categoria::all();
return view('Categoria.index',compact('categorias'));
}
public function create()
{
return view('categoria.create');
}
public function store(Request $request)
{
Categoria::create($request->all());
return redirect()->route('categoria.index');
}
public function show($id)
{
$categoria=Categoria::find($id);
return view('categoria.show',compact('categoria'));
}
public function edit($id)
{
$categoria=Categoria::find($id);
return view('categoria.edit',compact('categoria'));
}
public function update(Request $request, $id)
{
Categoria::find($id)->update($request->all());
return redirect()->route('categoria.index');
}
public function destroy($id)
{
Categoria::find($id)->delete();
return redirect()->route('categoria.index');
}
}
7. Crear la ruta que hara uso de los métodos del controlador. En la carpeta del
proyecto CRUD y dentro de la subcarpeta routes se encuentra ubicado el
archivo de rutas web.php en donde debemos especificar el nombre de la ruta y
el controlador por medio de una ruta de tipo recursos.

Route::get('/', function () {
return view('welcome');
});
Route::resource('categoria','CategoriaController');

8. Crear la plantilla para lo que necesitamos crear una nueva carpeta dentro de
CRUD\resources\views que tendra el nombre de layouts. El archivo tendra el
nombre de plantilla.blade.php

<!DOCTYPE html>
<html><head><title>CRUD con Laravel</title>
<meta charset="utf-8">
<meta name="viewport" content="width=device-width, initial-scale=1, user-
scalable=yes">
<link rel="stylesheet" href="{{ asset('css/bootstrap.min.css') }}">
<script src="{{ asset('js/bootstrap.min.js') }}"></script>
</head>
<body>
<div class="container-fluid">
@yield('contenido')
</div></body></html>

Tener en cuenta en el codigo anterior se están haciendo referencia a los


archivos de bootstrap de manera local. Es decir, las carpetas css y js deben
contener los archivos bootstrap.min.css y bootstrap.min.js respectivamente. Lo
que las carpetas css y js estén copiadas en la carpeta CRUD\public.
Si no se desea trabajar de manera local se puede hacer referencia a las ligas
de la red de contenidos de bootstrap mediante la siguiente liga.

<link rel="stylesheet"
href="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/css/bootstrap.min.css
" integrity="sha384-
ggOyR0iXCbMQv3Xipma34MD+dH/1fQ784/j6cY/iJTQUOhcWr7x9JvoRxT2MZ
w1T" crossorigin="anonymous">

<script
src="https://stackpath.bootstrapcdn.com/bootstrap/4.3.1/js/bootstrap.min.js"
integrity="sha384-
JjSmVgyd0p3pXB1rRibZUAYoIIy6OrQ6VrjIEaFf/nJGzIxFDsf4x0xIM+B07jRM"
crossorigin="anonymous"></script>
9. Crear las Vistas para lo que necesitamos crear una nueva carpeta dentro de
CRUD\resources\views que tendrá el nombre de categoria. A continuación,
cada uno de los archivos con extensión blade.php dentro de la carpeta
CRUD\resource\views\categoria

index.blade.php
@extends('layouts.plantilla')
@section('contenido')
<div class="row">
<div class="col-12">
<h3>Lista de Categorías</h3>
<a href="{{ route('categoria.create') }}" class="btn btn-info">Agregar</a>
<table class="table table-bordred table-striped">
<thead>
<th>Id</th>
<th>Nombre</th>
<th>Acciones</th>
</thead>
<tbody>
@if($categorias->count())
@foreach($categorias as $categoria)
<tr>
<td>{{$categoria->id}}</td>
<td>{{$categoria->categoria}}</td>
<td>
<a class="btn btn-primary" href="{{action('CategoriaController@edit',
$categoria->id)}}" >Editar</a>
<form action="{{action('CategoriaController@destroy', $categoria->id)}}"
method="post">
@csrf
<input name="_method" type="hidden" value="DELETE">
<input type="submit" value="Eliminar" class="btn btn-danger">
</form>
</td>
</tr>
@endforeach
@else
<tr>
<td colspan="3">No hay registro !!</td>
</tr>
@endif
</tbody>
</table>
</div>
</div>
@stop
create.blade.php
@extends('layouts.plantilla')
@section('contenido')
<div class="row">
<div class="col-12"><h3>Nueva Categoria</h3></div>
</div>
<div class="row">
<div class="col">
<div class="form-group">
<form method="POST" action="{{ route('categoria.store') }}">
@csrf
<label for="categoria">Categoria</label>
<input type="text" name="categoria" class="form-control"
required="">
<input type="submit" value="Grabar" class="btn btn-success">
</form>
</div>
</div>
</div>
<a href="{{ route('categoria.index')}}" class="btn btn-primary">Volver</a>
@stop

edit.blade.php
@extends('layouts.plantilla')
@section('contenido')
<div class="row">
<div class="col-12"><h3>Actualizar Categoria</h3></div>
</div>
<div class="row">
<div class="col">
<div class="form-group">
<form method="POST" action="{{ route('categoria.update',
$categoria->id) }}">
@csrf
<input name="_method" type="hidden" value="PATCH">
<label for="categoria">Categoria</label>
<input type="text" name="categoria" class="form-control"
value="{{ $categoria->categoria}}" required="">
<input type="submit" value="Grabar" class="btn btn-success">
</form>
</div>
</div>
</div>
<a href="{{ route('categoria.index')}}" class="btn btn-primary">Volver</a>
@stop
10. Establecer la conexión a la base de datos Ventas en el archivo env que se
encuentra dentro de la carpeta CRUD

DB_CONNECTION=mysql
DB_HOST=127.0.0.1
DB_PORT=3306
DB_DATABASE=ventas
DB_USERNAME=root
DB_PASSWORD=

11. Ejecutar el sitio

En ventana de comandos
C:\CRUD>php artisan serve

En navegador
http://127.0.0.1:8000

También podría gustarte