Example #1
0
 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();
 }