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


Ordenar tabla relacionada por id descendente

Hola, necesito usar el orderBy('id', 'DESC') en mi controlador pero no se como incorporarlo sin que me de error necesito que la tabla post se ordene por id descendente pero al ser una tabla relacionada no lo consigo

  public function show($id)
    {

        $product = Product::with('Dsa')->with('Post')->find($id);
        
  

        return view('products...

Carga de registros, con datatables

Sera que datatables no aguanta una cantidad de registro mayor a 1 millon. tengo problemas con esa parte las consultas de busquedas se toman mucho tiempo. alguien que mepueda apoyar en esa parte. ...

Controlador laravel modificar ruta path

Actualmente al subir una imagen con mi Controlador la guarda en una capeta llamada image situada en el directorio public y me gustaria que cuando suba una imagen dentro de la carpeta image cree una nueva carpeta dentro de image con el nombre del usuario y esta sea donde guarde las imagenes pero no consigo agregar esa variable al controlador me da error...

  public functi...

Muriendo a causa de SOAP

Soy nuevo en el uso de web service y en rimorsoft, sin embargo no tengo idea de como crear y que necesito para hacer un servidor soap en php alguien podria ayudarme/orientarme con una guia aunque esta sea pequeña sera bien agradecida...

Tengo un archivo XSD para trabajarlo pero repito, no tengo idea ni de como comenzar y trabajarlo, se que tengo que crear un server soap y d...