繁体   English   中英

Laravel模型函数使用关系

[英]Laravel Model function using relationship

我认为此功能用于汇总总时数

<?php 

     $sum = [];
     foreach($user->workedTimes as $item){
        array_push($sum, ($item->end_time->diffInHours($item->start_time))); 
     }
     echo array_sum($sum);

?>

在刀片视图中一切都很好,但是我想要在我的模型中使用相同的代码,以便可以在刀片中调用user-> totalHours

我在模型中做了这个功能:

在此处输入图片说明

当我致电{{$ user-> totalHours}}

我收到此错误:

在此处输入图片说明

如何通过Model进行这项工作?

您应该使用带有方括号的方法,如下所示:

{{ $user->totalHours() }}

但是,如果您像这样使用Laravel Accessor ,那就太好了:

<?php

namespace App;

use Illuminate\Database\Eloquent\Model;

class User extends Model
{
    public function getTotalTimeAttribute()
    {
       // Your logic here ...
       $sum = [];
       foreach($this->workedTimes as $item) {
         array_push($sum, $item->end_time->diffInHours($item->start_time));
       }
       return array_sum($sum);
    }
}

并以如下方式在刀片中访问它:

{{ $user->total_time }}

希望这可以帮助!

尝试使用$this->workedHours()并使用$user->totalHours()调用

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM