public function testUpdate()
 {
     parent::testUpdate();
     $product = Product::findOne(1);
     $this->assertTrue($product instanceof Product);
     $this->assertEquals('123', $product->int);
     $this->assertFalse($product->isNewRecord);
     $this->assertEmpty($product->dirtyAttributes);
     $product->int = 567;
     $product->save();
     $this->assertEquals('567', $product->int);
     $product2 = Product::findOne(1);
     $this->assertEquals('567', $product2->int);
     // updateAll
     // todo need to create new DynamicQueryBuilder to override update()
     //        $product = Product::findOne(3);
     //        $this->assertEquals('value3', $product->children['str']);
     //        $ret = Product::updateAll(['(!children.str!)' => 'temp'], ['id' => 3]);
     //        $this->assertEquals(1, $ret);
     //        $product = Product::findOne(3);
     //        $this->assertEquals('temp', $product->children['str']);
     //
     //        $ret = Product::updateAll(['(!children.str!)' => 'tempX']);
     //        $this->assertEquals(3, $ret);
     //
     //        $ret = Product::updateAll(['(!children.str!)' => 'tempp'], ['name' => 'product6']);
     //        $this->assertEquals(0, $ret);
 }