代码之家  ›  专栏  ›  技术社区  ›  Philipp Kishkovarov

如何对相关表中的函数值求和?

  •  0
  • Philipp Kishkovarov  · 技术社区  · 7 年前

    我有两门课: Share 和相关 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;
    }
    

    但现在我需要回来 共有 类别总和 capitalCommitted() 功能,我被卡住了。

    我的 共有 类别:

    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 回复  |  直到 7 年前
        1
  •  2
  •   Jonas Staudenmeir    7 年前

    使用此选项:

    public function getCapitalCommittedAttribute()
    {
        return $this->share_price * $this->shares_amount;
    }
    
    public function totalCommitted()
    {
        return $this->grants->sum('capitalCommitted');
    }