No se pueden guardar los datos de cálculo por categoría cuando se crean nuevos datos en laravel
Model SpentTime
No puedo guardar los datos de cálculo por categoría cuando creo nuevos datos en laravel
public static function findOrCreate($plan_id, $data)
{
$fromDate = Carbon::now()->subDay()->startOfWeek()->toDateString();
$nowDate = Carbon::now()->today()->toDateString();
$spent_time = static::where('plan_id', $plan_id)->first();
if (is_null($spent_time)) {
return static::create($data);
}else{
$task_category = SpentTime::where('task_category', $spent_time->task_category)->get();
$create_spent_times = SpentTime::where('task_category', $spent_time->task_category)->sum('daily_spent_time', $fromDate);
$request['spent_time'] = (int)$create_spent_times + $spent_time->daily_spent_time;
$create_spent_times = SpentTime::where('task_category', $spent_time->task_category)->sum('daily_percentage', $fromDate);
$request['percentage'] = (int)$create_spent_times + $spent_time->daily_percentage;
$spent_time->save();
return $spent_time->update($data);
}
}
TrackerControllerEsta es la función del controlador para almacenar datos:
public function store(Request $request)
{
$spent_time = SpentTime::findOrCreate($request->get('plan_id'), [
'plan_id' => $request->get ('plan_id'),
'daily_spent_time' => $request->get ('daily_spent_time'),
'daily_percentage' => $request->get ('daily_percentage'),
'reason' => $request->get ('reason')
]);
return redirect()->route('real.index', compact( 'spent_time'));
}