Controllers, Routes, Views, Database para el CRUD

En este video vamos a comenzar formalmente con la preparación del proyecto para realizar el CRUD utilizando VUE y Laravel. Se realiza la creación de la base de datos, un controlador de recursos, las rutas específicas y la vista blade a utilizar.

Inicia sesión para poder registrar las lecciones que has completado Login

En el video anterior hicimos una breve muestra de la unión entre VUE y Laravel, pero en este video vamos a comenzar con la preparación del terreno, es decir vamos a crear y configurar todo lo necesario para la realización del CRUD a lo largo de esta serie.

##Base de Datos

Lo primero que tenemos que hacer es dirigirnos a nuestro gestor de base de datos que en este caso es phpmyadmin y crear una base de datos con el siguiente nombre laravel_vue.

Seguido a esto, utilizando la consola creamos vía composer un nuevo modelo llamado Task con su respectiva migración, la línea de comando sería: php artisan make:model Task -m

Al crear un proyecto nuevo en Laravel, este nos crea por defecto dos archivos de migración de users y password, borramos ambos archivos y únicamente nos quedamos solo con la migración tasks creada anteriormente con el modelo. A este archivo le realizamos la siguiente configuración de campos:

Schema::create('tasks', function (Blueprint $table) {
    $table->increments('id');
    $table->string('keep');
    $table->timestamps();
});

Como última configuración de esta sección, debemos guardar los datos correctos de conexión en el archivo .env de nuestro proyecto, colocando el usuario, la contraseña y el puerto correspondiente. Además, en Laravel 5,4 hay que realizar la configuración de colocar el ancho máximo a los campos string con la siguiente línea: Schema::defaultStringLength(120); dentro del archivo situado en la ruta app/Providers/AppServiceProvider.php.

Ahora sí, con el comando php artisan migrate:refresh corremos nuestra migración y habremos configurado correctamente la base de datos a utilizar.

Vistas

En este proyecto vamos a utilizar una vista plantilla que llamaremos app.blade.php, por lo cual podemos simplemente renombrar la vista welcome.blade.php que trae por defecto nuestro proyecto y realizar unos pequeños cambios. Básicamente su estructura quedaría de la siguiente forma:

<body>
    <div class="container">
        @yield('content')
    </div>
        
    <script src="{{ asset('js/app.js') }}"></script>
</body>

También necesitamos crear otra vista llamada dashboard.blade.php que utilizaremos como un panel administrativo y que va a extender de nuestra vista app.blade.php. Colocamos un mensaje de ejemplo para probar que están correctamente enlazadas, quedando de la siguiente manera:

@extends('app')

@section('content')
    Desde dashboard
@endsection

Controlador

Utilizando la consola y el comando php artisan make:controller TaskController --resource creamos un nuevo controlador de recursos con su estructura completa. Este archivo llamado TaskController.php va a contar con cada uno de los métodos necesarios para la gestión de nuestro CRUD. El único método que no vamos a utilizar y que podemos borrar de este archivo es el show.

Rutas

En el archivo de rutas de nuestro proyecto necesitamos crear una ruta para vincular cada método definido en el controlador, pero gracias a las diferentes definiciones de rutas en laravel con solo usar una sola línea de código lo logramos. Nuestro archivo de rutas quedará de la siguiente forma:

<?php
    Route::get('/', function () {
        return view('dashboard');
    });
    Route::resource('tasks', 'TaskController', ['except' => 'show', 'create', 'edit']);

La primera ruta de tipo de get será nuestra ruta principal del sistema, que estará vinculada a la vista dashboard. La segunda ruta de tipo resource va a definir cada una de las rutas para nuestro controlador de recursos, excepto la ruta para el método show. Podemos verificar su correcta configuración en consola con el siguiente comando: php artisan route:list

El proyecto básicamente va a funcionar de la siguiente manera: el usuario abre el archivo dashboard que va a contar con el diseño y nuestra aplicación vue, este archivo se va a comunicar con cada una de las rutas creadas utilizando vue y utilizando axios lo cual nos mostrará el verdadero dinamismo de nuestro sistema.

Adquiere en preventa y aprovecha un gran descuento TDD en Laravel

Comparte en

Creado por: Venezuela Italo Morales

Profesor de #Laravel y #PHP en Rimorsoft Online

Más información


Validación de registros duplicados en tabla intermedia

Hola,

Necesito de su ayuda estoy tratando que un request valide un registro para que no sea repetido, este esta compuesto por tres llaves foraneas(instituto_id, carrera_id, campus_id). les dejo el request: ```php return [ 'instituto_id' => 'required|numeric|min:1', 'carrera_id' => 'required|numeric|min:1', ...

El auth de laravel trabaja con $_SESSION?.

el auth de laravel trabaja basado en tokens o con el objeto session de php ...

Rutas de Laravel no funcionan

Buenas a todos, tengo un problema, ultimamente, cada vez que creo un nuevo proyecto de Laravel las rutas de este no funcionan. Por ejemplo: si creo el proyecto, éste se crea, pero al agregarle el sistema de autenticación: "auth" se generan tanto las rutas en el archivo web.php y las vistas. pero si intento acceder a la sección de registro o inicio de sesión me aparece el e...

form request ajax laravel (Mostrar error de validación de formulario con ajax)

Hola, tengo una consulta por hacer. Quisiera conocer sus opiniones, sobre como mostrar los errores de validación con ajax cuando utlizo la clase Form Request. Debo decir que el mensaje de registrado con éxito si lo muestra, sin embargo los mensajes de error no los he podido mostrar. Gracias

//FORM REQUEST


public function rules()
    {
        return [
     ...