Exemplo n.º 1
0
 function test_auto_scope_for_conditions()
 {
     $connection = new pdoext_Connection("sqlite::memory:");
     $connection->exec('CREATE TABLE users (
      id INTEGER PRIMARY KEY AUTOINCREMENT,
      name VARCHAR(255)
    )');
     $gateway = new test_UsersGateway('users', $connection);
     $gateway->insert(array('name' => 'Anna'));
     $gateway->insert(array('name' => 'Betty'));
     // Three ways to fetch by name
     $betty = $gateway->fetch(array('name' => "Betty"));
     $this->assertEqual("Betty", $betty->name);
     $betty = $gateway->select()->where('name', "Betty")->one();
     $this->assertEqual("Betty", $betty->name);
     $betty = $gateway->whereNameIs("Betty")->one();
     $this->assertEqual("Betty", $betty->name);
     // Two ways to select by name
     $q = $gateway->select()->where('name', "Betty", "!=");
     $a = array();
     foreach ($q as $row) {
         $a[] = $row;
     }
     $this->assertEqual(1, count($a));
     $this->assertEqual("Anna", $a[0]->name);
     $q = $gateway->whereNameIsNot("Betty");
     $a = array();
     foreach ($q as $row) {
         $a[] = $row;
     }
     $this->assertEqual(1, count($a));
     $this->assertEqual("Anna", $a[0]->name);
 }