本文整理汇总了PHP中Receipt::ExpandQuery方法的典型用法代码示例。如果您正苦于以下问题:PHP Receipt::ExpandQuery方法的具体用法?PHP Receipt::ExpandQuery怎么用?PHP Receipt::ExpandQuery使用的例子?那么, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类Receipt
的用法示例。
在下文中一共展示了Receipt::ExpandQuery方法的2个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的PHP代码示例。
示例1: LoadArrayBySearchHelper
/**
* Load an array of Receipt objects
* by Company, Contact, Receipt Number, Asset Code, InventoryModelCode, or Status
* using the receipt_custom_field_helper table
*
* @param string $strFromCompany
* @param string $strFromContact
* @param string $strReceiptNumber
* @param string $strAssetCode
* @param string $strInventoryModelCode
* @param int $intStatus
* @param string $strNote
* @param string $strDateModified
* @param string $strDateModifiedFirst
* @param string $strDateModifiedLast
* @param string $strOrderBy
* @param string $strLimit
* @param array $objExpansionMap map of referenced columns to be immediately expanded via early-binding
* @return Receipt[]
*/
public static function LoadArrayBySearchHelper($strFromCompany = null, $strFromContact = null, $strReceiptNumber = null, $strAssetCode = null, $strInventoryModelCode = null, $intStatus = null, $strNote = null, $strDueDate = null, $strReceiptDate = null, $arrCustomFields = null, $strDateModified = null, $strDateModifiedFirst = null, $strDateModifiedLast = null, $blnAttachment = null, $strOrderBy = null, $strLimit = null, $objExpansionMap = null)
{
Receipt::ArrayQueryHelper($strOrderBy, $strLimit, $strLimitPrefix, $strLimitSuffix, $strExpandSelect, $strExpandFrom, $objExpansionMap, $objDatabase);
// Setup QueryExpansion
$objQueryExpansion = new QQueryExpansion();
if ($objExpansionMap) {
try {
Receipt::ExpandQuery('receipt', null, $objExpansionMap, $objQueryExpansion);
} catch (QCallerException $objExc) {
$objExc->IncrementOffset();
throw $objExc;
}
}
$arrSearchSql = Receipt::GenerateSearchSql($strFromCompany, $strFromContact, $strReceiptNumber, $strAssetCode, $strInventoryModelCode, $intStatus, $strNote, $strDueDate, $strReceiptDate, $arrCustomFields, $strDateModified, $strDateModifiedFirst, $strDateModifiedLast, $blnAttachment);
$arrAttachmentSql = Attachment::GenerateSql(EntityQtype::Receipt);
$arrCustomFieldSql = CustomField::GenerateHelperSql(EntityQtype::Receipt);
$strQuery = sprintf('
SELECT
%s
DISTINCT
`receipt`.`receipt_id` AS `receipt_id`,
`receipt`.`transaction_id` AS `transaction_id`,
`receipt`.`from_company_id` AS `from_company_id`,
`receipt`.`from_contact_id` AS `from_contact_id`,
`receipt`.`to_contact_id` AS `to_contact_id`,
`receipt`.`to_address_id` AS `to_address_id`,
`receipt`.`receipt_number` AS `receipt_number`,
`receipt`.`due_date` AS `due_date`,
`receipt`.`receipt_date` AS `receipt_date`,
`receipt`.`received_flag` AS `received_flag`,
`receipt`.`created_by` AS `created_by`,
`receipt`.`creation_date` AS `creation_date`,
`receipt`.`modified_by` AS `modified_by`,
`receipt`.`modified_date` AS `modified_date`
%s
%s
%s
FROM
`receipt` AS `receipt`
%s
%s
%s
%s
%s
WHERE
1=1
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
%s
', $strLimitPrefix, $objQueryExpansion->GetSelectSql(",\n\t\t\t\t\t", ",\n\t\t\t\t\t"), $arrCustomFieldSql['strSelect'], $arrAttachmentSql['strSelect'], $objQueryExpansion->GetFromSql("", "\n\t\t\t\t\t"), $arrCustomFieldSql['strFrom'], $arrAttachmentSql['strFrom'], $arrSearchSql['strAssetCodeFromSql'], $arrSearchSql['strInventoryModelCodeFromSql'], $arrSearchSql['strFromCompanySql'], $arrSearchSql['strFromContactSql'], $arrSearchSql['strReceiptNumberSql'], $arrSearchSql['strAssetCodeSql'], $arrSearchSql['strInventoryModelCodeSql'], $arrSearchSql['strStatusSql'], $arrSearchSql['strNoteSql'], $arrSearchSql['strDueDateSql'], $arrSearchSql['strReceiptDateSql'], $arrSearchSql['strCustomFieldsSql'], $arrSearchSql['strDateModifiedSql'], $arrSearchSql['strAttachmentSql'], $arrSearchSql['strAuthorizationSql'], $arrAttachmentSql['strGroupBy'], $strOrderBy, $strLimitSuffix);
//echo($strQuery); exit;
$objDbResult = $objDatabase->Query($strQuery);
return Receipt::InstantiateDbResult($objDbResult);
}
示例2: ExpandQuery
/**
* Internally called method to assist with early binding of objects
* on load methods. Can only early-bind references that this class owns in the database.
* @param string $strParentAlias the alias of the parent (if any)
* @param string $strAlias the alias of this object
* @param array $objExpansionMap map of referenced columns to be immediately expanded via early-binding
* @param QueryExpansion an already instantiated QueryExpansion object (used as a utility object to assist with object expansion)
*/
public static function ExpandQuery($strParentAlias, $strAlias, $objExpansionMap, QQueryExpansion $objQueryExpansion)
{
if ($strAlias) {
$objQueryExpansion->AddFromItem(sprintf('LEFT JOIN `receipt_custom_field_helper` AS `%s__%s` ON `%s`.`%s` = `%s__%s`.`receipt_id`', $strParentAlias, $strAlias, $strParentAlias, $strAlias, $strParentAlias, $strAlias));
$objQueryExpansion->AddSelectItem(sprintf('`%s__%s`.`receipt_id` AS `%s__%s__receipt_id`', $strParentAlias, $strAlias, $strParentAlias, $strAlias));
$strParentAlias = $strParentAlias . '__' . $strAlias;
}
if (is_array($objExpansionMap)) {
foreach ($objExpansionMap as $strKey => $objValue) {
switch ($strKey) {
case 'receipt_id':
try {
Receipt::ExpandQuery($strParentAlias, $strKey, $objValue, $objQueryExpansion);
break;
} catch (QCallerException $objExc) {
$objExc->IncrementOffset();
throw $objExc;
}
default:
throw new QCallerException(sprintf('Unknown Object to Expand in %s: %s', $strParentAlias, $strKey));
}
}
}
}