Citation preview

CRUD2 con Laravel 1. Se tiene la base de datos PCM con el siguiente modelo de base de datos y se trata de dar mantenimiento a la tabla de Obras REGIONES

TIPODEOBRAS

IDREGION: INTEGER REGION: VARCHAR(30)

IDTIPODEOBRA: INTEGER TIPODEOBRA: VARCHAR(50)

OBRAS IDOBRA: INTEGER OBRA: VARCHAR(60) IDTIPODEOBRA: INTEGER (FK) IDREGION: INTEGER (FK) MONTO: DECIMAL(8,2)

Se requiere implementar los siguientes datos iniciales Regiones: LIMA, PIURA, LA LIBERTAD, AREQUIPA Tipodeobras: PUENTE, COLEGIO, CARRETERA Obra: PUENTE LIBERTADORES EN LIMA CON MONTO DE 100,000 2. Iniciar la consola de comandos y ubicarse en la raíz del disco c para crear el proyecto crud2 C:\>composer create-project --prefer-dist laravel/laravel crud2 3. Crear el script de base de datos y grabarlo en la carpeta crud2\database con el nombre de obras.sql drop database if exists pcm; create database pcm; use pcm; create table regiones(idregion int auto_increment,region varchar(30),primary key(idregion)); create table tipodeobras(idtipodeobra int auto_increment,tipodeobra varchar(50),primary key(idtipodeobra)); create table obras(idobra int auto_increment,obra varchar(60),idtipodeobra int,idregion int,monto decimal(8,2),primary key(idobra),foreign key(idtipodeobra) references tipodeobras(idtipodeobra),foreign key(idregion) references regiones(idregion)); insert regiones values(null,'LIMA'); insert regiones values(null,'PIURA'); insert regiones values(null,'LA LIBERTAD'); insert regiones values(null,'AREQUIPA'); insert tipodeobras values(null,'PUENTE'); insert tipodeobras values(null,'COLEGIO'); insert tipodeobras values(null,'CARRETERA'); insert obras values(null,'PUENTE LIBERTADORES',1,1,100000);

CRUD2 con Laravel 4. Iniciar XAMPP con Apache y Mysql para ejecutar el script de la base de datos con Phpmyadmin y con EMS SQL Manager validar el modelo debiendo obtener el siguiente diagrama visual

5. Ingresando a la carpeta de CRUD2 crear los modelos Region, Tipodeobra y Obra C:\crud2>php artisan make:model Region C:\crud2>php artisan make:model Tipodeobra C:\crud2>php artisan make:model Obra Luego en crud2\app establecemos para cada modelo class Region extends Model { // protected $table='regiones'; protected $primaryKey='idregion'; protected $fillable=['region']; public $timestamps=false; }

class Tipodeobra extends Model { // protected $primaryKey='idtipodeobra'; protected $fillable=['tipodeobra']; public $timestamps=false; }

CRUD2 con Laravel

class Obra extends Model { // protected $primaryKey='idobra'; protected $fillable=['obra','idtipodeobra','idregion','monto']; public $timestamps=false; } 6. Creamos el controlador únicamente para la Obras C:\crud2>php artisan make:controller ObraController --resource 7. Implementamos los métodos del controlador ObraController