Ejemplo n.º 1
0
 public function testFunc()
 {
     $objTest = new TypeTest();
     $objTest->TestFloat = -1.0;
     $objTest->Save();
     $objTest2 = new TypeTest();
     $objTest2->TestFloat = -2.0;
     $objTest2->Save();
     $objResArray = TypeTest::QueryArray(QQ::GreaterThan(QQ::Func('ABS', QQN::TypeTest()->TestFloat), 1.0));
     $this->assertEquals(1, count($objResArray));
     if (count($objResArray) > 0) {
         $objRes = $objResArray[0];
         $this->assertNotNull($objRes);
         if ($objRes) {
             $this->assertEquals(-2.0, $objRes->TestFloat);
         }
     }
     $objTest->Delete();
     $objTest2->Delete();
 }
Ejemplo n.º 2
0
 public function testVirtualAttributeAliases()
 {
     $clauses = [QQ::GroupBy(QQN::Project()->ProjectStatusTypeId), QQ::Sum(QQN::Project()->Budget, 'Budget Amount'), QQ::Expand(QQ::Virtual('Balance', QQ::Func('SUM', QQ::Sub(QQN::Project()->Budget, QQN::Project()->Spent))))];
     $cond = QQ::Equal(QQN::Project()->ProjectStatusTypeId, ProjectStatusType::Open);
     $objProject = Project::QuerySingle($cond, $clauses);
     $amount1 = $objProject->GetVirtualAttribute('Budget Amount');
     $this->assertEquals(83000, $amount1);
     $amount2 = $objProject->GetVirtualAttribute('Balance');
     $this->assertEquals(5599.5, $amount2);
 }
Ejemplo n.º 3
0
 public function __construct(QQColumnNode $objNode, $strAttributeName)
 {
     $this->objNode = QQ::Func($this->strFunctionName, $objNode);
     $this->strAttributeName = QQ::GetVirtualAlias($strAttributeName);
     // virtual attributes are queried lower case
 }