Inheritance: extends lithium\data\Model
Beispiel #1
0
 public function testRelationshipQuerying()
 {
     $connection = $this->_connection;
     $message = "Relationships are not supported by this adapter.";
     $this->skipIf(!$connection::enabled('relationships'), $message);
     foreach ($this->companyData as $data) {
         Company::create($data)->save();
     }
     $stuffMart = Company::findFirstByName('StuffMart');
     $maAndPas = Company::findFirstByName('Ma \'n Pa\'s Data Warehousing & Bait Shop');
     $this->assertEqual(__NAMESPACE__ . '\\Employee', $stuffMart->employees->model());
     $this->assertEqual(__NAMESPACE__ . '\\Employee', $maAndPas->employees->model());
     foreach (array('Mr. Smith', 'Mr. Jones', 'Mr. Brown') as $name) {
         $stuffMart->employees[] = Employee::create(compact('name'));
     }
     $expected = Company::key($stuffMart) + array('name' => 'StuffMart', 'active' => true, 'employees' => array(array('name' => 'Mr. Smith'), array('name' => 'Mr. Jones'), array('name' => 'Mr. Brown')));
     $this->assertEqual($expected, $stuffMart->data());
     $this->assertTrue($stuffMart->save());
     $this->assertEqual('Smith', $stuffMart->employees[0]->lastName());
     $stuffMartReloaded = Company::findFirstByName('StuffMart');
     $this->assertEqual('Smith', $stuffMartReloaded->employees[0]->lastName());
     foreach (array('Ma', 'Pa') as $name) {
         $maAndPas->employees[] = Employee::create(compact('name'));
     }
     $maAndPas->save();
 }