<?php

  
require_once("Model.class.php");

  class 
Product extends Model {


  }

  
$r Product::get();
  
var_dump($r->create_statement());
  
// output: SELECT id FROM products

  
$r Product::get(array("make__contains" => "Sony"));
  
var_dump($r->create_statement());
  
// output: SELECT id FROM products WHERE make LIKE '%Sony%'

  
$r Product::get(array("make__contains" => "Sony"), array("category__exact" => "TV"));
  
var_dump($r->create_statement());
  
// output: SELECT id FROM products WHERE (make LIKE '%Sony%' AND category = 'TV')

  
$r Product::get(array("make__contains" => "Sony"));
  
$r $r->exclude(array("model__contains" => "RD3"));
  
var_dump($r->create_statement());
  
// output: SELECT id FROM products WHERE make LIKE '%Sony%' AND NOT model LIKE '%RD3%'

  
$r Product::get(array("category__contains" => "Stereo"));
  
$r $r->filter(array("make__exact" => "Panasonic"));
  
var_dump($r->create_statement());
  
// output: SELECT id FROM products WHERE category LIKE '%Stereo%' AND make = 'Panasonic'

  
$r Product::get(Q(array("make__contains" => "Sony")) | ~Q(array("category__exact" => "TV")));
  
var_dump($r->create_statement());
  
// output: SELECT id FROM products WHERE (make LIKE '%Sony%' OR  NOT category = 'TV')

  
$r Product::get(array("selling_price__gte" => F("cost") * 2));
  
var_dump($r->create_statement());
  
// output: SELECT id FROM products WHERE selling_price >= cost * 2

  
$r Product::get(array("selling_price__gte" => F("cost") * 2));

  
var_dump($r->delete());
  
// output: DELETE FROM products WHERE selling_price >= cost * 2

  
var_dump($r->update(array("make" => "Sony""category" => "TV")));
  
// output: UPDATE products SET make = 'Sony', category = 'TV' WHERE selling_price >= cost * 2

  
$r Product::get(array("make__exact" => "Sony"))->order_by("-model");
  
var_dump($r->create_statement());
  
// output: SELECT id FROM products WHERE make = 'Sony' ORDER BY model DESC

  
$r Product::get(array("make__exact" => "Sony"));
  
var_dump($r["5:10"]->create_statement());
  
// output: SELECT id FROM products WHERE make = 'Sony' LIMIT 5 OFFSET 5

  
var_dump($r[":10"]->create_statement());
  
// output: SELECT id FROM products WHERE make = 'Sony' LIMIT 10