/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * * @return \Generated\Shared\Transfer\DiscountableItemTransfer[] */ public function collect(QuoteTransfer $quoteTransfer) { $lefCollectedItems = $this->left->collect($quoteTransfer); $rightCollectedItems = $this->right->collect($quoteTransfer); return array_uintersect($lefCollectedItems, $rightCollectedItems, function (DiscountableItemTransfer $collected, DiscountableItemTransfer $toCollect) { return strcmp(spl_object_hash($collected->getOriginalItemCalculatedDiscounts()), spl_object_hash($toCollect->getOriginalItemCalculatedDiscounts())); }); }
/** * @param \Generated\Shared\Transfer\QuoteTransfer $quoteTransfer * * @return \Generated\Shared\Transfer\DiscountableItemTransfer[] */ public function collect(QuoteTransfer $quoteTransfer) { $leftCollectedItems = $this->left->collect($quoteTransfer); $rightCollectedItems = $this->right->collect($quoteTransfer); return $this->arrayMergeByObject($leftCollectedItems, $rightCollectedItems); }