public function testRelationshipQuerying() { $connection = $this->_connection; $message = "Relationships are not supported by this adapter."; $this->skipIf(!$connection::enabled('relationships'), $message); foreach ($this->companiesData as $data) { Companies::create($data)->save(); } $stuffMart = Companies::findFirstByName('StuffMart'); $maAndPas = Companies::findFirstByName('Ma \'n Pa\'s Data Warehousing & Bait Shop'); $this->assertEqual($this->_classes['employees'], $stuffMart->employees->model()); $this->assertEqual($this->_classes['employees'], $maAndPas->employees->model()); foreach (array('Mr. Smith', 'Mr. Jones', 'Mr. Brown') as $name) { $stuffMart->employees[] = Employees::create(compact('name')); } $expected = Companies::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 = Companies::findFirstByName('StuffMart'); $this->assertEqual('Smith', $stuffMartReloaded->employees[0]->lastName()); foreach (array('Ma', 'Pa') as $name) { $maAndPas->employees[] = Employees::create(compact('name')); } $maAndPas->save(); }