<?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;