2017 © Pedro PelĂĄez
 

library activerecord

Fast ActiveRecord

image

kumbia/activerecord

Fast ActiveRecord

  • Saturday, February 17, 2018
  • by ashrey
  • Repository
  • 10 Watchers
  • 8 Stars
  • 134 Installations
  • PHP
  • 0 Dependents
  • 0 Suggesters
  • 10 Forks
  • 4 Open issues
  • 3 Versions
  • 4 % Grown

The README.md

KumbiaPHP, (*1)

Scrutinizer Code Quality Code Coverage Build Status Code Climate, (*2)

ESPAÑOL - ENGLISH, (*3)

ActiveRecord

Nuevo ActiveRecord en desarrollo., (*4)

No usar en producciĂłn, (*5)

Instalar con composer en KumbiaPHP

Necesita KumbiaPHP > 0.9RC, (*6)

  • Crear el archivo composer.json en la raiz del proyecto:
--proyecto  
    |  
    |--vendor  
    |--default  
    |--core  
    |--composer.json        AcĂĄ va nuestro archivo  
  • Añadir el siguiente cĂłdigo:
{
    "require": {
        "kumbia/activerecord" : "dev-master"
    }
}
  • Ejecutar el comando composer install, (*7)

  • Seguir los pasos 2 y 3 de la siguiente secciĂłn., (*8)

Instalar en KumbiaPHP

Necesita KumbiaPHP > 0.9RC, (*9)

  1. Copiar config/config_databases.php en app/config/databases.php y configurar, (*10)

  2. (Opcional) Añadir en app/libs/ : lite_record.php y/o act_record.php, (*11)

LiteRecord

Para los que prefieren SQL y las ventajas de un ORM, incluye un mini ActiveRecord, (*12)

<?php
//app/libs/lite_record.php

/**
 * Record 
 * Para los que prefieren SQL con las ventajas de ORM
 *
 * Clase padre para añadir tus métodos
 *
 * @category Kumbia
 * @package ActiveRecord
 * @subpackage LiteRecord
 */

//use Kumbia\ActiveRecord\LiteRecord as ORM;

class LiteRecord extends \Kumbia\ActiveRecord\LiteRecord
{

}

ActRecord

ActiveRecord completo, (*13)

<?php
//app/libs/act_record.php

/**
 * ActiveRecord Nuevo
 *
 * Clase padre para añadir tus métodos
 *
 * @category Kumbia
 * @package ActiveRecord
 * @subpackage ActiveRecord
 */

//use Kumbia\ActiveRecord\ActiveRecord;

class ActRecord extends \Kumbia\ActiveRecord\ActiveRecord
{

}

Ejemplo

Modelo

<?php
//app/models/personas.php

class Personas extends ActRecord //o LiteRecord segĂșn el que prefiera
{

}

O directamente sin clase padre, (*14)

<?php
//app/models/personas.php

class Personas extends \Kumbia\ActiveRecord\LiteRecord
{

}

Controller

<?php
//app/controller/personas_controller.php

class PersonasController extends AppController {

    public function index() {
        $this->data = Personas::all();
    }

    public function find($id) {
        $this->data = Personas::get($id);
    }
}

Uso de métodos en LiteRecord

Filtrar datos

    //obtener todos los registros como array
    $filas = Personas::all();
    echo $filas[0]->nombre;

    //obtener un registro por su clave primaria
    $fila = Personas::get($personaId);
    echo $fila->nombre;

    //obtener los registros como array segĂșn el filtro 
    $filas = Personas::filter("WHERE nombre LIKE ?", [$nombrePersona]);
    echo $filas[0]->nombre;

    //obtener registro segĂșn sql
    $fila = Personas::first("SELECT * FROM personas WHERE nombre = :nombre", [":nombre" => $nombrePersona]);
    echo $fila->nombre;

    //obtener array de registros segĂșn sql
    $filas = Personas::all("SELECT * FROM personas WHERE fecha_contrato >= ?", [$fechaContrato]);
    echo $filas[0]->nombre;

DML / Crear, actualizar, borrar

    //creando un nuevo registro
    $personaObj = new Personas();
    $personaObj->create([
        'nombre' => 'Edgard Baptista',
        'cargo' => 'Contador',
        'fecha_contrato' => date('Y-m-d'),
        'activo' => 1
    ]); //retorna True o False si hay éxito o error respectivamente

    //creando un nuevo registro //alternativa
    //por favor, prefiera este método por su simplicidad. 
    //save ejecuta el método create cuando falta la clave primaria y 
    //el de actualizaciĂłn cuando existe
    $personaObj = new Personas();
    $personaObj->save([
        'nombre' => 'Edgard Baptista',
        'cargo' => 'Contador',
        'fecha_contrato' => date('Y-m-d'),
        'activo' => 1
    ]); //retorna True o False si hay éxito o error respectivamente

    //creando un nuevo registro //alternativa //método abreviado
    //pasamos los datos cuando se instancia la clase
    $personaObj = new Personas([
        'nombre' => 'Edgard Baptista',
        'cargo' => 'Contador',
        'fecha_contrato' => date('Y-m-d'),
        'activo' => 1
    ]);
    $personaObj->save(); //retorna True o False si hay éxito o error respectivamente

    //actualizar un registro
    //primero buscar el registro que se quiere actualizar
    $personaObj = Personas::get($personaId);

    $personaObj->update([
        'nombre' => 'Edgard Baptista',
        'activo' => 0
    ]); //retorna True o False si hay éxito o error respectivamente

    //actualizar un registro //alternativa
    //primero buscar el registro que se quiere actualizar
    $personaObj = Personas::get($personaId);

    $personaObj->save([
        'nombre' => 'Edgard Baptista',
        'activo' => 0
    ]); //retorna True o False si hay éxito o error respectivamente


    //borrar un registro usando su clave primaria
    Personas::delete($personaId);

The Versions

17/02 2018

dev-master

9999999-dev https://github.com/KumbiaPHP/ActiveRecord

Fast ActiveRecord

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Joan Miquel
by Alberto Berrotan
by Emilio

orm database activerecord

17/02 2018

dev-dev

dev-dev https://github.com/KumbiaPHP/ActiveRecord

Fast ActiveRecord

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Joan Miquel
by Alberto Berrotan
by Emilio

orm database activerecord

15/02 2018

v0.4

0.4.0.0 https://github.com/KumbiaPHP/ActiveRecord

Fast ActiveRecord

  Sources   Download

BSD-3-Clause

The Requires

  • php >=5.4.0

 

by Joan Miquel
by Alberto Berrotan
by Emilio

orm database activerecord