Convenciones

PIPE tiene cuatro convenciones que se recomiendan utilizar para aprovechar al máximo el ORM PIPE.

Convención #1: Las tablas en la base de datos deben llamarse en plural, ejemplo: usuarios, tareas_programadas. Las clases que representan los modelos de las tablas deben empezar con la primera letra en mayúscula y llamarse en singular siguiendo el estilo de escritura CamelCase, ejemplo: Usuario, TareasProgramada. Las tablas que representan relaciones de muchos a muchos deben crearse con los nombres en orden alfabético de los modelos relacionados, ejemplo: compra_usuario.

Convención #2: La llave primaria de la tabla debe llamarse id y tener el atributo auto incrementable.

Convención #3: El nombre de la llave foránea debe estar compuesto por el nombre en minúscula del modelo que representa a la tabla principal seguido de un _id, ejemplo: usuario_id, tareas_programada_id.

Convención #4: Las tablas en la base de datos deben contar con dos campos que puedan ser nulos y de tipo timestamp llamados creado_en y actualizado_en los cuales nos permiten llevar el registro del tiempo.

Si no deseamos utilizar estas convenciones podemos omitirlas por medio del modelo de la siguiente manera.

<?php

namespace Modelos;

use Modelos\Oceano;
use PIPE\Clases\Modelo;

class Pais extends Modelo 
{
    public $tabla = 'paises';

    public $llavePrimaria = 'codigo';

    public $registroTiempo = false;

    public $creadoEn = 'created_at';

    public $actualizadoEn = 'updated_at';

    public $perteneceAMuchos = [
        Oceano::class => [
            'tablaUnion' => 'oceanospaises',
            'llaveForaneaLocal' => 'id_pais',
            'llaveForaneaUnion' => 'id_oceano',
            'nombre' => 'oceano_pais'
        ]
    ];
}