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
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');
}
}
807 visitas
© Todos los derechos reservados Codea App | Cursos de programación | 2020 - 2022