attributes['formattedPrice'] = sprintf('%s €', number_format($this->attributes['price'], 2, ',', ' ')); } public function range() { return $this->belongsTo('App\Models\Range', 'range_id'); } public function old_slugs() { return $this->hasMany('App\Model\OldSlug', 'product_id'); } public function stats() { return $this->hasMany('App\Models\Stat', 'product_id'); } public function orders() { return $this->belongsToMany('App\Models\Order', 'orders_products', 'product_id', 'order_id') ->withPivot('quantity'); } //relationship to additionnal product info public function additionnalProductInfo($productType) { return $this->$productType; } //possible additionnals public function foodProduct() { return $this->hasOne(FoodProduct::class, 'product_id'); } //relationship to associated products public function associated_products() { return $this->belongsToMany(Product::class, 'products_products', 'product_id', 'associated_id'); } }