Inicio » Cursos » Laravel

Práctica: Modelos con relaciones | Curso Laravel

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: 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

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');
    }
}

 

 

 


665 visitas

Curso Laravel

Curso Laravel

Descarga el código fuente del proyecto

USD 50.00 70.00


COMPRAR CURSO

Codea App
Codea App FullStack

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

You Fb Tik Pin

© Todos los derechos reservados Codea App | Cursos de programación | 2020 - 2022