/** * Load primary coupon (is_primary = 1) for specified rule * * * @param \Magento\SalesRule\Model\Coupon $object * @param \Magento\SalesRule\Model\Rule|int $rule * @return bool */ public function loadPrimaryByRule(\Magento\SalesRule\Model\Coupon $object, $rule) { $connection = $this->getConnection(); if ($rule instanceof \Magento\SalesRule\Model\Rule) { $ruleId = $rule->getId(); } else { $ruleId = (int) $rule; } $select = $connection->select()->from($this->getMainTable())->where('rule_id = :rule_id')->where('is_primary = :is_primary'); $data = $connection->fetchRow($select, [':rule_id' => $ruleId, ':is_primary' => 1]); if (!$data) { return false; } $object->setData($data); $this->_afterLoad($object); return true; }