Inicio » Cursos » ReactJS y Laravel Directorio de Empresas

Curso ReactJS y Laravel Directorio de Empresas

Capitulo 4 ➜ Modelos y relaciones

Modelos: User, Categoria, Empresa y relaciones

Implementación de Modelos como User, Categoria y Empresa además de las relaciones de integridad referencial. Migración para obtener las tablas en MYSQL

Modelos 

  1. Modelo User
  2. Modelo Categoría
  3. Modelo Empresa
  4. Relaciones
  5. Conexión BD
  6. Migración

Modelo User

public function up(): void
    {
        Schema::create('users', function (Blueprint $table) {
            $table->id();
            $table->string('name');
            $table->string('email')->unique();
            $table->timestamp('email_verified_at')->nullable();
            $table->string('password');
            $table->rememberToken();
            $table->timestamps();
        });
    }
 protected $fillable = [
        'name',
        'email',
        'password',
    ];

Modelo Categoría

public function up(): void
    {
        Schema::create('categorias', function (Blueprint $table) {
            $table->id();
            $table->string("nombre",25);
            $table->string("slug",25)->unique();
            $table->text("descripcion")->nullable();
            $table->boolean("menu")->default(0);
            $table->integer("orden")->default(1);
        });
    }

class Categoria extends Model
{
    use HasFactory;
    protected $guarded = [];
    public $timestamps = false;
   
}

 

Modelo Empresa

public function up(): void
    {
        Schema::create('empresas', function (Blueprint $table) {
            $table->id();
            $table->string("nombre",50);
            $table->string("email",50)->unique();
            $table->string("telefono",9);
            $table->string("direccion",50);
            $table->string("website",50)->nullable();
            $table->string("facebook",50)->nullable();
            $table->string("youtube",50)->nullable();
            $table->string("tiktok",50)->nullable();
            $table->text("descripcion")->nullable();
            $table->string("urlfoto",50)->nullable();
            $table->boolean("publicado")->default(0);
            $table->integer("orden")->default(1);
            $table->integer("visitas")->default(1);
            $table->foreignId('categoria_id')->references('id')->on('categorias')->onUpdate('cascade')->onDelete('cascade');
            $table->foreignId('user_id')->references('id')->on('users')->onUpdate('cascade')->onDelete('cascade');
            $table->timestamps();
        });
    }
class Empresa extends Model
{
    use HasFactory;
    protected $guarded = [];
}

Relaciones

class Empresa extends Model
{
    use HasFactory;
    protected $guarded = [];

    public function categoria()
    {
        return $this->belongsTo(Categoria::class);
    }
    
    public function user()
    {
        return $this->belongsTo(User::class);
    }
}
class User extends Authenticatable
{
    use HasApiTokens, HasFactory, Notifiable;
....

    public function empresas()
    {
        return $this->hasMany(Empresa::class);
    }

    
}
class Categoria extends Model
{
    use HasFactory;
    protected $guarded = [];
    public $timestamps = false;

    public function empresas()
    {
        return $this->hasMany(Empresa::class);
    }
}

Conexión BD

DB_DATABASE=dbdiremp
DB_USERNAME=root
DB_PASSWORD=

Migración

php artisan migrate

 


486 visitas

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

Más cursos que pueden interesarte

Más cursos

© Copyright Codea App | LATAM | 2020 - 2024