首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在laravel中使用sum自定义函数

在laravel中使用sum自定义函数
EN

Stack Overflow用户
提问于 2021-08-05 14:26:49
回答 1查看 74关注 0票数 0

我的模型中有自定义函数

代码语言:javascript
复制
public function bkd(){
        $sifat = 0;
        $sks = $this->sks;
        $bkd = 0;
        if($this->sifat == 'Team Teaching'){
            $sifat = 0.5;
            $bkd = $sifat * $sks;
            return $bkd;
        }elseif($this->sifat == 'Asistensi'){
            $sifat = 1;
            $bkd = $sifat * $sks;
            return $bkd;
        }
    }

从这一点,它将调用在表上的观点与foreach。

代码语言:javascript
复制
@foreach($profil->kelas as $kls)
          <tr>
          <th scope="row">{{ $loop->iteration }}</th>
          <td>{{ $kls->matakuliah->nama}}</th>
          <td>{{ $kls->grup}}</td>
          <td>{{ $kls->sifat}}</td>
          <td>{{ $kls->sks}}</td>
          <td>{{ $kls->semester}}</td>
          <td>{{ $kls->tahun_ajaran}}</td>
          <td>{{ $kls->bkd()}}</td>
          <td>
              <a href="/dosen/{{$profil->id}}/{{$kls->id}}/del_kelas" class="badge badge-danger" onclick="return confirm('Yakin Ingin Menghapus?')">DELETE</a>
          </td>
          </tr>
      @endforeach

我想对函数bkd()中的每条记录进行求和,我怎么做呢?

这就是我在视野中所尝试的

代码语言:javascript
复制
<li>Jumlah Beban Pengajaran di Sistem Informasi<span>{{$kelas->sum('bkd')}}</span></li>

但它给了我错误

应用程序\Kelas::bkd必须返回关系实例.

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-08-05 14:33:41

如果您使用附件,这将是可行的:

代码语言:javascript
复制
class YourModel
{
    protected $appends = ['bkd'];
    public function getBkdAttribute()
    {
      //stuff
    }
}
$kls->bkd; //value
$kelas->sum('bkd'); //sum of values
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68668487

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档