Ejemplo n.º 1
0
<?php

use ORM\ORM_Model;
/*
 * This class uses all the defaults for ORM_Model
 *
 * - Table will be cars
 * - Primary key is id
 * - It is in the database defined under the database group in the Configuration
 */
class Car extends ORM_Model
{
}
// Find a single car
$carTen = Car::Find(10);
// Find the first red car
$redCar = Car::FindByColour('red');
// Find all the blue cars
$blueCars = Car::FindAllByColour('blue');
<?php

// Fetch a car and delete it
$car = Car::Find(4);
$car->delete();
// will still output the details of car[4]
var_dump($car);
// Try to fetch it again
$car = Car::Find(4);
// will now output FALSE, as there is not database record
var_dump($car);
<?php

// Update existing record
$car = Car::Find(3);
$car->age++;
$car->save();
// Create new record
$car = new Car();
$car->brand = 'Toyota';
$car->age = 3;
$car->save();
// Assuming the Car model has an "autoincrement" primary key, it should now be
// populated
echo "New car id: ", $car->id();
// It's also possible to create an item with its primary key set
// Be careful though: if the key exists already it will update the existing record
$car = new Car();
$car->id = 100;
$car->brand = 'Ferrari';
$car->age = 30;
$car->save();
// Alternative method of creating a model class:
$car = new Car(array('brand' => 'Toyota', 'age' => 3));
$car->save();
<?php

use ORM\ORM_Model;
// Definitions:
class Car extends ORM_Model
{
}
class Owner extends ORM_Model
{
}
class Manufacturer extends ORM_Model
{
    // Use the default table, but the primary key is name
    const PRIMARY_KEY = 'name';
}
// -------------
// Usage:
// Fetch the first blue car and include the Owner object
$blueCar = Car::FindByColour('blue', 'Owner');
// Outputs the "name" field from the Owner record
echo "This blue car is owned by ", $blueCar->Owner->name;
// Fetch all red cars and include the Owner and Manufacturer objects
$redCars = Car::FindByColour('red', array('Owner', 'Manufacturer'));
// That is all the configuration required to be able to do this:
$myCar = Car::Find(1, array('Owner', 'Manufacturer'));
$manufacturer = $myCar->Manufacturer;
$owner = $myCar->Owner;