72 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
			
		
		
	
	
			72 lines
		
	
	
		
			1.5 KiB
		
	
	
	
		
			PHP
		
	
	
	
	
	
<?php namespace RVR\PersistentData\Model;
 | 
						|
 | 
						|
use DateTime;
 | 
						|
use SokoWeb\PersistentData\Model\Model;
 | 
						|
 | 
						|
class CurrencyExchangeRate extends Model
 | 
						|
{
 | 
						|
    protected static string $table = 'currency_exchange_rates';
 | 
						|
 | 
						|
    protected static array $fields = ['currency_id', 'exchange_rate', 'valid_from'];
 | 
						|
 | 
						|
    protected static array $relations = ['currency' => Currency::class];
 | 
						|
 | 
						|
    private ?Currency $currency = null;
 | 
						|
 | 
						|
    private ?int $currencyId = null;
 | 
						|
 | 
						|
    private float $exchangeRate = 0.0;
 | 
						|
 | 
						|
    private DateTime $validFrom;
 | 
						|
 | 
						|
    public function setCurrency(Currency $currency): void
 | 
						|
    {
 | 
						|
        $this->currency = $currency;
 | 
						|
    }
 | 
						|
 | 
						|
    public function setCurrencyId(int $currencyId): void
 | 
						|
    {
 | 
						|
        $this->currencyId = $currencyId;
 | 
						|
    }
 | 
						|
 | 
						|
    public function setExchangeRate(float $exchangeRate): void
 | 
						|
    {
 | 
						|
        $this->exchangeRate = $exchangeRate;
 | 
						|
    }
 | 
						|
 | 
						|
    public function setValidFromDate(DateTime $validFrom): void
 | 
						|
    {
 | 
						|
        $this->validFrom = $validFrom;
 | 
						|
    }
 | 
						|
 | 
						|
    public function setValidFrom(string $validFrom): void
 | 
						|
    {
 | 
						|
        $this->validFrom = new DateTime($validFrom);
 | 
						|
    }
 | 
						|
 | 
						|
    public function getCurrency(): ?Currency
 | 
						|
    {
 | 
						|
        return $this->currency;
 | 
						|
    }
 | 
						|
 | 
						|
    public function getCurrencyId(): ?int
 | 
						|
    {
 | 
						|
        return $this->currencyId;
 | 
						|
    }
 | 
						|
 | 
						|
    public function getExchangeRate(): float
 | 
						|
    {
 | 
						|
        return $this->exchangeRate;
 | 
						|
    }
 | 
						|
 | 
						|
    public function getValidFromDate(): DateTime
 | 
						|
    {
 | 
						|
        return $this->validFrom;
 | 
						|
    }
 | 
						|
 | 
						|
    public function getValidFrom(): string
 | 
						|
    {
 | 
						|
        return $this->validFrom->format('Y-m-d H:i:s');
 | 
						|
    }
 | 
						|
}
 |