gruene-seele/app/Models/UserLevelMargin.php
2021-01-22 15:54:51 +01:00

90 lines
2.7 KiB
PHP

<?php
/**
* Created by Reliese Model.
*/
namespace App\Models;
use App\Services\Util;
use Carbon\Carbon;
use Illuminate\Database\Eloquent\Model;
/**
* Class UserLevelMargin
*
* @property int $id
* @property int $user_level_id
* @property float|null $price_from
* @property float|null $trading_margin
* @property float|null $commission
* @property Carbon|null $created_at
* @property Carbon|null $updated_at
* @property UserLevel $user_level
* @package App\Models
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin newModelQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin newQuery()
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin query()
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin whereCommission($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin whereCreatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin whereId($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin wherePriceFrom($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin whereTradingMargin($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin whereUpdatedAt($value)
* @method static \Illuminate\Database\Eloquent\Builder|UserLevelMargin whereUserLevelId($value)
* @mixin \Eloquent
*/
class UserLevelMargin extends Model
{
protected $table = 'user_level_margins';
protected $casts = [
'user_level_id' => 'int',
'price_from' => 'float',
'trading_margin' => 'float',
'commission' => 'float'
];
protected $fillable = [
'user_level_id',
'price_from',
'trading_margin',
'commission'
];
public function user_level()
{
return $this->belongsTo(UserLevel::class);
}
public function setPriceFromAttribute($value)
{
$this->attributes['price_from'] = $value ? Util::reFormatNumber($value) : 0;
}
public function getFormattedPriceFrom()
{
return isset($this->attributes['price_from']) ? Util::formatNumber($this->attributes['price_from']) : "";
}
public function setTradingMarginAttribute($value)
{
$this->attributes['trading_margin'] = $value ? Util::reFormatNumber($value) : 0;
}
public function getFormattedTradingMargin()
{
return isset($this->attributes['trading_margin']) ? Util::formatNumber($this->attributes['trading_margin']) : "";
}
public function setCommissionAttribute($value)
{
$this->attributes['commission'] = $value ? Util::reFormatNumber($value) : 0;
}
public function getFormattedCommission()
{
return isset($this->attributes['commission']) ? Util::formatNumber($this->attributes['commission']) : "";
}
}