09. Curso de Laravel

09.-Laravel Tutorial en Español [eloquent] ¡¡En tiempo récord⚡!!

INTRODUCCIÓN

En este tutorial vamos a trabajar con eloquent y no se preocupen no es una nueva sintaxis o un nuevo lenguaje, eloquent es parte de laravel y se trabaja de la misma forma que se ha venido trabajando laravel y php.

Eloquent es una herramienta que nos va a ayudar a agilizar nuestras conexiones a las bases de datos y recuperar registros. En particular lo que aremos en este tutorial es darle seguimiento al tutorial anterior y vamos manejar los datos estáticos y los vamos a hacer dinámicos a través de nuestra base de datos (En tiempo récord ?).

PROCEDIMIENTOS

En la terminal nos movemos al path de laravel asi:

cd /var/www/html/laravel

Ejecutamos este comando:

php artisan make:model Producto -m

Esto no crea 2 archivos
app/Producto.php (Nuestro modelo)
database/migrations/fecha_hash_create_productos_table.php (Archivo util para la migracion)

Abrimos database/migrations/fecha_hash_create_productos_table.php y agregamos etas lineas:

            $table->string('nombre');
            $table->text('descripcion');

para que quede asi:

<?php

use IlluminateSupportFacadesSchema;
use IlluminateDatabaseSchemaBlueprint;
use IlluminateDatabaseMigrationsMigration;

class CreateProductosTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('productos', function (Blueprint $table) {
            $table->bigIncrements('id');
            $table->string('nombre');
            $table->text('descripcion');
            $table->timestamps();
        });
    }

    /**
     * Reverse the migrations.
     *
     * @return void
     */
    public function down()
    {
        Schema::dropIfExists('productos');
    }
}

Ejecutamos la migracion asi:

php artisan migrate

Vamos a phpmyadmin (o gestor de bd que usemos) y agregamos registros (los que queramos)

Vamos al archivo app/Http/Controllers/controlador.php agregamos la linea:

<?php

use AppHttpControllers;
//Agregamos esta linea
use App;

Y y sustituimos la linea:

$productos=['mesas','sillas','manteles'];

por

$productos=AppProducto::all();

Y en el archivo laravel/resources/views/lista.blade.php y sustituimos

<a href="{{ route('lista',$producto->nombre) }}" class="btn btn-primary">{{ $producto->nombre }}</a>

por

  <a href="{{ route('lista',$producto->nombre) }}" class="btn btn-primary">{{ $producto->nombre }}</a>
  @if(!empty($nombre))
    @if($nombre==$producto->nombre)
      <!-- Guardamos el nombre y la descripcion seleccionado -->
      @php ($nombreTem=$nombre)
      @php ($descripcionTem=$producto->descripcion)
    @endif
  @endif

y tambien sustituimos

 @if(!empty($nombre))
  <!-- Muestra un texto con el nombre de ese producto -->
  @switch($nombre)
   @case($nombre=='mesas')
    <h1>Caracteristicas de {{ $nombre }} </h1>
    <p>    
     <strong>{{ $nombre }}</strong>Fusce fermentum odio nec arcu. Etiam sollicitudin, ipsum eu pulvinar rutrum, tellus ipsum laoreet sapien, quis venenatis ante odio sit amet eros. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc.
     Donec orci lectus, aliquam ut, faucibus non, euismod id, nulla. Phasellus accumsan cursus velit. Cras non dolor.
     Aenean viverra rhoncus pede. Aenean massa. Cras varius.
    </p>
    @break
   @case($nombre=='sillas')
    <h1>Caracteristicas de {{ $nombre }} </h1>
    <p>     
     <strong>{{ $nombre }}</strong>Fusce fermentum odio nec arcu. Etiam sollicitudin, ipsum eu pulvinar rutrum, tellus ipsum laoreet sapien, quis venenatis ante odio sit amet eros. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc.
     Donec orci lectus, aliquam ut, faucibus non, euismod id, nulla. Phasellus accumsan cursus velit. Cras non dolor.
     Aenean viverra rhoncus pede. Aenean massa. Cras varius.
    </p>
    @break
   @case($nombre=='manteles')
    <h1>Caracteristicas de {{ $nombre }} </h1>
    <p>     
     <strong>{{ $nombre }}</strong> Fusce fermentum odio nec arcu. Etiam sollicitudin, ipsum eu pulvinar rutrum, tellus ipsum laoreet sapien, quis venenatis ante odio sit amet eros. Aenean tellus metus, bibendum sed, posuere ac, mattis non, nunc.
     Donec orci lectus, aliquam ut, faucibus non, euismod id, nulla. Phasellus accumsan cursus velit. Cras non dolor.
     Aenean viverra rhoncus pede. Aenean massa. Cras varius.
    </p>
    @break
  @endswitch
 @endif

 por

 @if(!empty($nombre))
  <h1>Caracteristicas de {{ $nombreTem }} </h1>
    <p>
      {{ $descripcionTem }}
    </p>
 @endif

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Información básica sobre protección de datos Ver más

  • Responsable: Eugenio Chaparro.
  • Finalidad:  Moderar los comentarios.
  • Legitimación:  Por consentimiento del interesado.
  • Destinatarios y encargados de tratamiento:  No se ceden o comunican datos a terceros para prestar este servicio. El Titular ha contratado los servicios de alojamiento web a digitalocean.com que actúa como encargado de tratamiento.
  • Derechos: Acceder, rectificar y suprimir los datos.
  • Información Adicional: Puede consultar la información detallada en la Política de Privacidad.

Esta web utiliza cookies propias y de terceros para su correcto funcionamiento y para fines analíticos y para mostrarte publicidad relacionada con sus preferencias en base a un perfil elaborado a partir de tus hábitos de navegación. Contiene enlaces a sitios web de terceros con políticas de privacidad ajenas que podrás aceptar o no cuando accedas a ellos. Al hacer clic en el botón Aceptar, acepta el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad
Salir de la versión móvil