Как сложить значение функции из связанной таблицы? - PullRequest
0 голосов
/ 18 мая 2018

У меня есть два класса: Share и связанные EquityGrant

У меня есть эта математическая функция в EquityGrant

public function share() //relationship
{
    return $this->belongsTo(Share::class, 'share_id');
}
public function capitalCommitted() //my math function
{
    return $this->share_price * $this->shares_amount;
}

Но теперь мне нужно вернуться в мой Share классовая сумма capitalCommitted() функции и вот я застрял.

Мой Share класс:

public function grants() //relationship
{
    return $this->hasMany(EquityGrant::class);
}
public function totalIssued() //sum, works good
{
    return $this->grants->sum('shares_amount');
}
public function totalCommitted() //Stuck here
{
    //need help here, Must be like this: array_sum($this->grants->capitalCommitted());
}

1 Ответ

0 голосов
/ 18 мая 2018

Используйте это:

public function getCapitalCommittedAttribute()
{
    return $this->share_price * $this->shares_amount;
}

public function totalCommitted()
{
    return $this->grants->sum('capitalCommitted');
}
...