Curso Laravel

Práctica: Modelos con relaciones

CREAR MODELO Y MIGRACIÓN php artisan make:model Categoria -m php artisan make:model Producto -m Establecer los atributos Asignar los campos y atributos

Lección 11 del Curso Laravel

DESCRIPCIÓN DE LA LECCIÓN

CREAR MODELO Y MIGRACIÓN

php artisan make:model Categoria -m

php artisan make:model Producto -m

Establecer los atributos

Asignar los campos y atributos

Establecer las relaciones de integridad referencial

Vincular las tablas mediante un id

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Categoria extends Model
{
    use HasFactory;
    public $timestamps = false;
    protected $fillable = [        
        'nombre',
        'descripcion'
    ];
    public function producto(){
        return $this->hasMany(Producto::class);
    }
}

 

<?php

namespace App\Models;

use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;

class Producto extends Model
{
    use HasFactory;    
    protected $fillable = [        
        'nombre',
        'descripcion',
        'categoria_id'
    ];
    public function categoria(){
        return $this->belongsTo(Categoria::class);
    }
}

 

Migración

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateCategoriasTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('categorias', function (Blueprint $table) {
            $table->id();
            $table->string("nombre",50)->unique();
            $table->text("descripcion")->nullable();
        });
    }

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

 

<?php

use Illuminate\Database\Migrations\Migration;
use Illuminate\Database\Schema\Blueprint;
use Illuminate\Support\Facades\Schema;

class CreateProductosTable extends Migration
{
    /**
     * Run the migrations.
     *
     * @return void
     */
    public function up()
    {
        Schema::create('productos', function (Blueprint $table) {
            $table->id();
            $table->string("nombre",50)->unique();
            $table->text("descripcion")->nullable();
            $table->unsignedBigInteger('categoria_id');
            $table->foreign('categoria_id')
                ->references('id')
                ->on('categorias')
                ->onDelete('cascade');
            $table->timestamps();
        });
    }

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

POR LA COMPRA DEL CURSO COMPLETO

  • MIRA TODOS LOS VIDEOS SIN RESTRICCIÓN
  • TEN ACCESO AL CURSO
  • DESCARGA TODO CÓDIGO FUENTE DEL PROYECTO
  • ACCESO A CURSOS Y RECURSOS GRATIS

Laravel

¿Cómo crear relaciones en Laravel? Práctica modelos y Migraciones

389 visitas

Lecciones del curso

2. Herramientas de desarrollo 299
3. Instalación de Laravel 334
4. Estructura de Carpetas y Archivos 501
5. Artisan 1502
6. Composer 388
7. ¡Hola mundo! 1270
8. Base de Datos y Eloquent 271
9. Modelos 331
10. Migraciones 444
12. Práctica: Uso de modelos 319
VER MÁS CURSOS
Codea App

Codea App FullStack

Perú, México, Colombia, España, Venezuela, Argentina, Bolivia

You Fb Tik Pin

© Todos los derechos reservados Codea App FullStack | Cursos de programación avanzados | 2020 - 2021