以下ようなメソッドで元のDBから合計値を算出し描写しています。
エラーコード
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'tb_user_department.total_over_working_time' in 'where clause' (SQL: select count(*) as aggregate from
tb_user_department
where exists (select * fromtb_department
wheretb_department
.department_id
=tb_user_department
.department_id
) and exists (select * fromtb_user
wheretb_user
.user_id
=tb_user_department
.user_id
) andtb_user_department
.total_over_working_time
between 21 and 50)
php
1class DB extends Model{ 2 3 protected $appends= ['total_over_working_time']; 4 getTotalOverWorkingTimeAttribute(){ 5 //計算処理 6 return total_over_working_time; 7 } 8}
PHP
1/* 2 * 残業が20時間以下の絞り込み 3 * 4 * @param Builder $query 5 * @return float 6 */ 7 public function scopefilterBytotalOverWorkingTime() 8 { 9 return $query->whereBetween('tb_user_department.total_over_working_time', [0,20]); 10 }
回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/05/01 09:07
2020/05/01 10:53