public function testCloneWithQuery() { $a = new \AuthorBooks\Model\Address(); ok($a->create(array('address' => 'Cindy'))->success); ok($a->create(array('address' => 'Hack'))->success); $addresses = new \AuthorBooks\Model\AddressCollection(); $addresses->where()->equal('address', 'Cindy'); $addresses->fetch(); is(1, $addresses->size()); $sql1 = $addresses->toSQL(); $clone = clone $addresses; $sql2 = $clone->toSQL(); is($sql1, $sql2); is(1, $clone->size()); $clone->free(); $clone->where()->equal('address', 'Hack'); is(0, $clone->size()); }
public function testHasManyRelationFetch() { $author = new \AuthorBooks\Model\Author(); $ret = $author->create(array('name' => 'Z', 'email' => 'z@z', 'identity' => 'z')); $this->assertResultSuccess($ret); $address = new \AuthorBooks\Model\Address(); $ret = $address->create(array('author_id' => $author->id, 'address' => 'Taiwan Taipei')); $this->assertResultSuccess($ret); $this->assertInstanceOf('LazyRecord\\BaseModel', $address->author); $this->assertEquals($author->id, $address->author->id); $ret = $address->create(array('author_id' => $author->id, 'address' => 'Taiwan Taipei II')); $this->assertResultSuccess($ret); // xxx: provide getAddresses() method generator $addresses = $author->addresses; $this->assertInstanceOf('LazyRecord\\BaseCollection', $addresses); $items = $addresses->items(); $this->assertNotEmpty($items); $this->assertCount(2, $items); }
/** * @rebuild false */ public function testGeneralInterface() { $a = new \AuthorBooks\Model\Address(); ok($a->getQueryDriver('default')); ok($a->getWriteQueryDriver()); ok($a->getReadQueryDriver()); }