Как вывести количество юзеров у которых есть группы в определенном отрезке времени

108
05 октября 2019, 09:00

Собственно говоря есть категория юзеров $participants, которые состоят в группах и нет, у групп есть время начала $start_time и конца $end_time , нужно вывести count тех юзеров которые состоят в группах по определенному dateRange, я не знаю как написать последнее условие и как связать dateRange к юзерам, ведь это параметры groups.

<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use app\Group;
use app\Participants;
use Carbon\Carbon;

class ParticipantCounts extends Controller
{
  public function ParticipantCountsWithGroups()
  {
    $participants = $Participants::has('groups')->get();

        $dateRange = "DD.MM.YY-DD.MM.YY";
        $splitTimeStamp = explode("-", $dateRange);
        $start_time = $splitTimeStamp[0];
        $end_time = $splitTimeStamp[1];
        Carbon::parse($start_time)->format('Y-m-d');
        Carbon::parse($end_time)->format('Y-m-d');
        $participants->where(function($query))
        {
          $query->where('start_time')->whereBetween('end_time'[$])
        }
}
}

Answer 1

Если я правильно понял, есть две модели - Participant и Group. У групп есть поля для начала и конца периода, и модели уже связаны методом groups. Тогда должна сработать такая конструкция:

$participants = Participant::whereHas('groups', function($q) use ($start_time, $end_time){
                    $q->where('start_time', '>', $start_time)->where('end_time', '<', $end_time);
                })->get();
READ ALSO
Как узнать параметры FastCGI?

Как узнать параметры FastCGI?

Иногда скрипт падает при дебаге, когда остановится на брейкпоинте по таймаутуГрешу на FcgidIOTimeout, так как по умолчанию у него 40 секунд и в логах...

116
Сравнить вложенные массивы?

Сравнить вложенные массивы?

$result = array_diff($array, $array2) почему такая конструкция перестаёт работать если сделать так $array2=array_chunk($array2, 4); $array=array_chunk($array, 4)

114
Удаления файлов PHP

Удаления файлов PHP

По нажатию на елемент хочу удалять файлы из бд и сервера, но получаю пустой ответ от сервера и ошибку:

133
Поиск текста по регулярным выражениям php

Поиск текста по регулярным выражениям php

Перепробовал все варианты не могу найти решениеЕсть строчка "Volvo XC40 (2018) интерьер" собственно нужно найти слово "интерьер" но это слово встречается...

109