$translations * @property-read int|null $translations_count * @mixin \Eloquent */ class Shipping extends Model { protected $table = 'shippings'; protected $fillable = [ 'name', 'active', 'free' ]; public function _format_number($value){ return preg_replace("/[^0-9,]/", "", $value); } public function setFreeAttribute( $value ) { if($value == ""){ $this->attributes['free'] = null; }else{ $value = $this->_format_number($value); $this->attributes['free'] = floatval(str_replace(',', '.', $value)); } } public function getFormattedFree() { if($this->free === null) { return ""; } if(\App::getLocale() == "en"){ return number_format($this->attributes['free'], 2, '.', ','); } return number_format($this->attributes['free'], 2, ',', '.'); } public function countries(){ return $this->hasMany('App\Models\ShippingCountry', 'shipping_id', 'id'); } public function prices(){ return $this->hasMany('App\Models\ShippingPrice', 'shipping_id', 'id'); } public function shipping_prices(){ return $this->hasMany('App\Models\ShippingPrice', 'shipping_id', 'id'); } public function translations() { return $this->hasMany(TransShipping::class, 'shipping_id'); } public function getLang($key) { $lang = \App::getLocale(); if ($lang == 'de') { return $this->{$key}; } $trans = $this->getTrans($key, $lang); return $trans != '' ? $trans : $this->{$key}; } public function getTrans($key, $lang) { $trans = $this->translations->where('language','=', $lang)->where('key', $key)->first(); return $trans ? $trans->value : ''; } }