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