prefijo, number_format($valor, $this->decimales, ',', '.'), $this->sufijo ]); } public function cambio(\DateTime $fecha) { $cambio = $this->factory->find(TipoCambio::class) ->where([['desde_id', $this->id], ['hasta_id', 1], ['fecha', $fecha->format('Y-m-d H:i:s')]]) ->one(); if (!$cambio) { $cambio = $this->factory->find(TipoCambio::class) ->where([['hasta_id', $this->id], ['desde_id', 1], ['fecha', $fecha->format('Y-m-d H:i:s')]]) ->one(); } return $cambio; } public function cambiar(\DateTime $fecha, float $valor) { $cambio = $this->cambio($fecha); if (!$cambio) { return $valor; } if ($cambio->desde()->id != $this->id) { return $cambio->transform($valor, TipoCambio::DESDE); } return $cambio->transform($valor); } }