本文整理汇总了PHP中QQ::Sum方法的典型用法代码示例。如果您正苦于以下问题:PHP QQ::Sum方法的具体用法?PHP QQ::Sum怎么用?PHP QQ::Sum使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类QQ
的用法示例。
在下文中一共展示了QQ::Sum方法的3个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: testVirtualAttributeAliases
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);
}
示例2: __get
public function __get($strName)
{
switch ($strName) {
case 'Votes':
$mixResult = NarroSuggestionVote::QuerySingle(QQ::Equal(QQN::NarroSuggestionVote()->SuggestionId, $this->SuggestionId), array(QQ::Sum(QQN::NarroSuggestionVote()->VoteValue, 'votes'), QQ::GroupBy(QQN::NarroSuggestionVote()->SuggestionId)));
if ($mixResult instanceof NarroSuggestionVote) {
return $mixResult->GetVirtualAttribute('votes');
} else {
return 0;
}
default:
try {
return parent::__get($strName);
break;
} catch (QCallerException $objExc) {
$objExc->IncrementOffset();
throw $objExc;
}
}
}
示例3: btnSave_Click
protected function btnSave_Click($strFormId, $strControlId, $strParameter)
{
$blnError = false;
// Do not allow duplicate Location names
if ($this->blnEditMode) {
$objLocationDuplicate = Location::QuerySingle(QQ::AndCondition(QQ::Equal(QQN::Location()->ShortDescription, $this->txtShortDescription->Text), QQ::NotEqual(QQN::Location()->LocationId, $this->objLocation->LocationId)));
} else {
$objLocationDuplicate = Location::QuerySingle(QQ::Equal(QQN::Location()->ShortDescription, $this->txtShortDescription->Text));
}
if ($objLocationDuplicate) {
$blnError = true;
$this->txtShortDescription->Warning = 'This Location Name is already in use. Please try another.';
$this->txtShortDescription->Focus();
}
// Check if there is any inventory at this location
$objInventoryLocation = InventoryLocation::QuerySingle(QQ::Equal(QQN::InventoryLocation()->LocationId, $this->objLocation->LocationId), QQ::Clause(QQ::Sum(QQN::InventoryLocation()->Quantity, 'QuantityTotal')));
$intInventoryAtLocation = $objInventoryLocation->GetVirtualAttribute('QuantityTotal');
// Don't allow disabling of locations with assets or inventory quantities
if ($this->blnEditMode && $this->objLocation->EnabledFlag && !$this->chkEnabled->Checked && (Asset::CountByLocationId($this->objLocation->LocationId) > 0 || $intInventoryAtLocation > 0)) {
$blnError = true;
$this->chkEnabled->Warning = 'Location must be empty before disabling.';
$this->chkEnabled->Focus();
}
if (!$blnError) {
try {
$this->UpdateLocationFields();
$this->objLocation->Save();
$this->RedirectToListPage();
} catch (QExtendedOptimisticLockingException $objExc) {
$this->btnCancel->Warning = sprintf('This location has been updated by another user. You must <a href="location_edit.php?intLocationId=%s">Refresh</a> to edit this location.', $this->objLocation->LocationId);
}
}
}