我在总结时间内总结了这个功能
<?php
$sum = [];
foreach($user->workedTimes as $item){
array_push($sum, ($item->end_time->diffInHours($item->start_time)));
}
echo array_sum($sum);
?>
在刀片视图中一切都很好,但我想在我的模型中使用相同的代码,因此我可以在刀片中调用user-&gt; totalHours
我在我的模型中实现了这个功能:
当我拨打{{$ user-&gt; totalHours}}
时我收到此错误:
如何从Model?
开始这项工作答案 0 :(得分:1)
您应该使用带括号的方法:
{{ $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 }}
希望这有帮助!
答案 1 :(得分:0)
尝试使用$this->workedHours()
并使用$user->totalHours()