![]() Server : Apache System : Linux server2.corals.io 4.18.0-348.2.1.el8_5.x86_64 #1 SMP Mon Nov 15 09:17:08 EST 2021 x86_64 User : corals ( 1002) PHP Version : 7.4.33 Disable Function : exec,passthru,shell_exec,system Directory : /home/corals/old/vendor/magento/module-tax/Model/ResourceModel/Calculation/ |
<?php /** * Copyright © Magento, Inc. All rights reserved. * See COPYING.txt for license details. */ namespace Magento\Tax\Model\ResourceModel\Calculation; /** * Tax rule resource model * * @author Magento Core Team <[email protected]> */ class Rule extends \Magento\Framework\Model\ResourceModel\Db\AbstractDb { /** * Resource initialization * * @return void */ protected function _construct() { $this->_init('tax_calculation_rule', 'tax_calculation_rule_id'); } /** * Initialize unique fields * * @return \Magento\Tax\Model\ResourceModel\Calculation\Rule */ protected function _initUniqueFields() { $this->_uniqueFields = [['field' => ['code'], 'title' => __('Code')]]; return $this; } /** * Fetches rules by rate, customer tax classes and product tax classes. Returns array of rule codes. * * @param array $rateId * @param array $customerTaxClassIds * @param array $productTaxClassIds * @return array */ public function fetchRuleCodes($rateId, $customerTaxClassIds, $productTaxClassIds) { $connection = $this->getConnection(); $select = $connection->select() ->from(['main' => $this->getTable('tax_calculation')], null) ->joinLeft( ['d' => $this->getTable('tax_calculation_rule')], 'd.tax_calculation_rule_id = main.tax_calculation_rule_id', ['d.code'] ) ->where('main.tax_calculation_rate_id in (?)', $rateId) ->where('main.customer_tax_class_id in (?)', $customerTaxClassIds) ->where('main.product_tax_class_id in (?)', $productTaxClassIds) ->distinct(true); return $connection->fetchCol($select); } }