'array', ]; 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 getShippingPricesBy($shipping_for){ return ShippingPrice::where('shipping_id', $this->id)->where('shipping_for', $shipping_for)->get(); } public function getShippingPricesFirstBy($shipping_for){ return ShippingPrice::where('shipping_id', $this->id)->where('shipping_for', $shipping_for) ->orderBy('price', 'ASC')->first(); } }