I created a model for services that are packed with modules and each modules has a price. Multiple modules create the price for that service.
- Service #1
-- Module 1 ($20)
-- Module 2 ($40)
Using belongsToMany
class Services extends Model
{
public function modules()
{
return $this->belongsToMany('App\Services\Modules');
...
each module links to a price
class Modules extends Model
{
public function price()
{
return $this->hasOne('App\Services\Pricing', 'product')->where('type', 'module');
...
and a service_module
table that links services to modules. The problem is what kind of relationship should I create to be able to ->sum()
the module prices for each service because I created an ugly patch with loops and burning 15 more queries per request
$prices = [];
foreach ($services->modules as $modules )
$prices[] = $modules ->price['month'];
$price = number_format(collect($prices)->sum(), 2, '.', '');
via Chebli Mohamed
Aucun commentaire:
Enregistrer un commentaire