09. Curso de Laravel

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

09. Curso%2Bde%2BLaravel

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 *