public function testQuery() { $a = ['invoice' => [['total_net' => 10, 'total_vat' => 1.23], ['total_net' => 20, 'total_vat' => 2.46]]]; $this->setDB($a); $db = new Persistence_SQL($this->db->connection); $i = (new Model($db, 'invoice'))->addFields(['total_net', 'total_vat']); $i->addExpression('sum_net', $i->action('fx', ['sum', 'total_net'])); $this->assertEquals('select `id`,`total_net`,`total_vat`,(select sum(`total_net`) from `invoice`) `sum_net` from `invoice`', $i->action('select')->render()); $i->tryLoad(1); $this->assertEquals(10, $i['total_net']); $this->assertEquals(30, $i['sum_net']); $q = $db->dsql(); $q->field($i->action('count'), 'total_orders'); $q->field($i->action('fx', ['sum', 'total_net']), 'total_net'); $this->assertEquals(['total_orders' => 2, 'total_net' => 30], $q->getRow()); }