Как сделать просроченную переменную в приложении TODO List в Laravel? - PullRequest
0 голосов
/ 08 ноября 2019

Я делаю TODO List в Laravel и на своей панели я хочу подсчитать, сколько просроченных задач есть у пользователя. Я могу посчитать, сколько всего задач, сколько задач нужно выполнить, но я не могу сосчитать, сколько просроченных задач у пользователя. В моей панели инструментов есть следующее:

панель инструментов

В разделе «Управление задачами» есть следующее:

управление задачами

Для первого изображения у меня есть следующий код в моем DashboardController.php:

public function index()
{
        $currentTime = date('Y-m-d');
        $schedule    = Task::where('schedule');
        $overdue     = $currentTime > $schedule;

    $taskCount = Task::where('user_id',Auth::user()->id)->get();
    $todoCount = Task::where('status',false)->get()->where('user_id',Auth::user()->id);
    $doneCount = Task::where('status',true)->get()->where('user_id',Auth::user()->id);


    $overdue = Task::where('user_id',Auth::user()->id)->get();


    /////////SENDING TO THE DASHBOARD

    $doneTasks = Task::where('user_id','=',Auth::user()->id)->where('status',true)->paginate(3);
    $todoTasks = Task::where('user_id','=',Auth::user()->id)->where('status',false)->paginate(3);


    return view('user.dashboard',compact('taskCount','todoCount','doneCount','doneTasks','todoTasks'));
}

И в моем dashboard.blade.php у меня есть следующее (суммируя только эту часть):

<p class="card-category">To do</p>
        <h3 class="card-title">{{$todoCount->count()}}

<p class="card-category">Done tasks</p>
              <h3 class="card-title">{{$doneCount->count()}}</h3>

<p class="card-category">Total tasks</p>
            <h3 class="card-title">{{$taskCount->count()}}</h3>

Так я считаю свои задачи. Но пока я не могу сосчитать свои просроченные задачи и отправить на мой dashboard.blade.php. В моей базе данных у меня есть таблица tasks , и у меня есть поле с именем schedule (с функцией даты). И для получения задач todo (статус логический), у меня есть status = 0 , что означает todo, и для done status = 1 , что означает done.

AsВы можете видеть для моего второго изображения, я сделал, просроченные и задачи todo. Но в этой таблице для моих просроченных задач я должен сделать следующее (в моем index.blade.php):

@if ($task->status == 1)
 <span class="badge badge-success">Done</span>
  @elseif($task->status == 0 && $otherTime > $task->schedule)
     <span class="badge badge-danger">Overdue</span>
@else
<span class="badge badge-warning">To do</span>
@endif

Для $ otherTime я сделал следующее:

$otherTime = date("Y-m-d");

Так какМогу ли я сделать подсчет для моих просроченных задач? Извините, если слишком большой, но я пытаюсь подробно указать, что я сделал.

Заранее спасибо

1 Ответ

0 голосов
/ 08 ноября 2019

Вы можете рассчитывать по запросу. В запросе сравните дату с сегодняшним днем, и вы получите просроченные задачи

// для записей

$overdueTasks = Task::where('user_id','=',Auth::user()->id)
->where('date', '>', date('Y-m-d')) //compare date  // or ->where('date', '>=', '2019-11-08 23:59:59')  // or ->whereDate('date', '>', '2019-11-08')
->where('status',false)
->paginate(3);

// для счетов

$overdueTaskCounts = Task::where('user_id','=',Auth::user()->id)
->where('date', '>', date('Y-m-d')) //compare date  // or ->where('date', '>=', '2019-11-08 23:59:59')  // or ->whereDate('date', '>', '2019-11-08')
->where('status',false)
->count();
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...