私は単純なタスクアプリを開発中です。私は各プロジェクトに費やされた合計時間を積極的にロードしたいと思う。テーブル間の関係がtask_project.id = task_entries.task_project_id
を介して確立されLaravel 5.2熱心な負荷関係と集計計算
Table: task_project
id, client_id, name, description
Table: task_entries
id, task_project_id, start_time, end_time
:私は2つのテーブルを持っています。
テーブルtask_project
のプロジェクトごとに、各タスクの時間をtask_entries
に記録します。これを処理するためにelapsed
というメソッドを作成しました。
は、だから私のモデルTaskProject
に私がtasks
ためとelapsed
のための関係があります。
public function tasks()
{
return $this->hasMany(TaskEntry::class, 'task_project_id');
}
public function elapsed()
{
return $this->hasOne(TaskEntry::class, 'task_project_id')
->selectRaw('time_format(SUM(timediff(task_end_time, task_start_time)), "%H:%m:%s") AS hours')
->groupBy('task_entries.task_project_id');
}
をそして、私のコントローラで次のように私はそれを呼び出す:
$tasks = TaskProject::with('elapsed')->paginate(15);
しかしelapsed
ための関係がありますプロジェクト行ごとにnull値。 MM:SSを使用して:
私はHHとして私ブレードテンプレートでこの値にアクセスすることが可能になってしまうしたい
$task->elapsed->hours
すべてのヘルプは歓迎です!
ありがとう@programmerKev! – TheRealPapa