コード例 #1
0
    /**
     * Load an array of InventoryTransaction objects,
     * by Inventory ModelId
     * @param integer $intInventoryModelId
     * @param string $strOrderBy
     * @param string $strLimit
     * @param array $objExpansionMap map of referenced columns to be immediately expanded via early-binding
     * @return InventoryTransaction[]
     */
    public static function LoadArrayByInventoryModelId($intInventoryModelId, $strOrderBy = null, $strLimit = null, $objExpansionMap = null)
    {
        // Call to ArrayQueryHelper to Get Database Object and Get SQL Clauses
        InventoryTransaction::ArrayQueryHelper($strOrderBy, $strLimit, $strLimitPrefix, $strLimitSuffix, $strExpandSelect, $strExpandFrom, $objExpansionMap, $objDatabase);
        // Properly Escape All Input Parameters using Database->SqlVariable()
        $intInventoryModelId = $objDatabase->SqlVariable($intInventoryModelId, true);
        // Setup the SQL Query
        $strQuery = sprintf('
				SELECT
				%s
					`inventory_transaction`.`inventory_transaction_id` AS `inventory_transaction_id`,
					`inventory_transaction`.`inventory_location_id` AS `inventory_location_id`,
					`inventory_transaction`.`transaction_id` AS `transaction_id`,
					`inventory_transaction`.`quantity` AS `quantity`,
					`inventory_transaction`.`source_location_id` AS `source_location_id`,
					`inventory_transaction`.`destination_location_id` AS `destination_location_id`
					%s
				FROM
					`inventory_location` AS `inventory_location`,
					`inventory_transaction` AS `inventory_transaction`
					%s
				WHERE
					`inventory_location`.`inventory_model_id` %s
					AND `inventory_location`.`inventory_location_id` = `inventory_transaction`.`inventory_location_id`
				%s
				%s', $strLimitPrefix, $strExpandSelect, $strExpandFrom, $intInventoryModelId, $strOrderBy, $strLimitSuffix);
        // Perform the Query and Instantiate the Result
        $objDbResult = $objDatabase->Query($strQuery);
        return InventoryTransaction::InstantiateDbResult($objDbResult);
    }