Я хочу показать фильтр данных за весь год по месяцам в Vue Js и Backend Laravel

Я использую Laravel в качестве бэкэнда и Vue.js в качестве внешнего интерфейса.

Я создаю API для получения всех данных без какого-либо фильтра на основе месяца.

Итак, как я могу показать данные за их месяц в шаблоне Vue.js?

Например, у меня есть данные:

  • за март: показать строку даты создания в марте
  • за апрель: Показать строку даты создания в апреле

Как лучше их показать? или мне нужно создать другой метод для разных месяцев в контроллере.

Пожалуйста, порекомендуйте Спасибо

отправить выбранный диапазон дат в laravel и проанализировать его с помощью углерода. Затем вы можете легко найти дату, номер недели, номер месяца и многое другое, а после этого вы можете запросить свой красноречивый, чтобы найти записи в этом временном диапазоне.

Afraz Ahmad 27.02.2019 06:46
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
0
1
972
1

Ответы 1

У меня также такое же состояние, когда я выбираю диапазон дат из календаря на vue и отправляю эти даты в laravel, а затем анализирую эти даты в laravel с помощью Carbon и нахожу красноречивые записи, используя этот диапазон дат.

$query = Payment::query();

if ($request->filled('startDate')){
      $query = $query->where('date','>=',Carbon::parse($request->startDate)->toDateTimeString());
}
if ($request->filled('endDate')){
     $query = $query->where('date','<=',Carbon::parse($request->endDate)->toDateTimeString());
}
return response()->json(['payments' => $query->get()]; //return in format that you want

Мы также можем вернуть диапазон дат от начальной до конечной даты, используя углерод

function findDateRange($request)
{
    $carbon = '\Carbon\Carbon';
    $dateRange = 'Invalid Date Range';
    if ($request->filled('startDate') &&  $request->filled('endDate')){
        $differenceInDays = $carbon::parse($request->startDate)->diffInDays($carbon::parse($request->endDate));
        if ($differenceInDays < 7){
            $dateRange = 'Week '. $carbon::parse($request->startDate)->weekOfYear .'<br>'. $carbon::parse($request->startDate)->format(authUser()->date_format) .' - '.$carbon::parse($request->endDate)->format(authUser()->date_format);
        }elseif ($differenceInDays > 6 && $differenceInDays < 32){
            $dateRange = $carbon::parse($request->startDate)->format('F Y');
        }elseif ($differenceInDays > 32 && $differenceInDays < 366){
            $dateRange = $carbon::parse($request->startDate)->format('Y');
        }
    }
    return $dateRange;
}

это вернет диапазон дат, как показано на изображении

Как вы отправляете из vue js.

Impunkj 27.02.2019 06:51

Лайк за каждый месяц л

Impunkj 27.02.2019 06:51

Я отправляю только дату начала и окончания, а углерод говорит мне, что это март или апрель.

Afraz Ahmad 27.02.2019 06:55

Хорошо спасибо. Или, если я хочу загрузить данные при загрузке dom, то как отправить параметр на сервер в зависимости от месяца.

Impunkj 27.02.2019 06:57

извините, я знаю, что это очень простой квест, но я новичок в Vue js

Impunkj 27.02.2019 06:58

при загрузке мы обычно получаем полные записи. Поэтому не отправляйте никаких дат, просто извлеките все записи. когда пользователь выбирает любой диапазон дат, затем отправляет его и извлекает записи, используя эти даты. код, который я написал в начале, проверяет, доступны ли даты, а затем находит записи, используя эти записи, в противном случае извлекает все.

Afraz Ahmad 27.02.2019 07:08

да, я знаю, как получить на основе выбора пользователя. Но например, если я хочу иметь предопределенную область каждого месяца, чем отображать данные на основе этого месяца.

Impunkj 27.02.2019 07:12

предположим, вы хотите получить записи за текущий месяц, затем получить месяц с помощью js и отправить вызов API. Вы можете легко получить дату начала и окончания текущего месяца, как бы вы ни хотели, используя js Date

Afraz Ahmad 27.02.2019 07:14

Итак, мне нужно использовать разные методы в vue js для каждого месяца или это можно сделать одним методом?

Impunkj 27.02.2019 07:16

только один метод вернет вам диапазон дат вашего текущего месяца

Afraz Ahmad 27.02.2019 07:17

Для каждых 12 месяцев нужно создавать разные массивы, такие как январь и февраль, одним методом? или мы можем передать любые параметры в метод загрузки

Impunkj 27.02.2019 07:19

Другие вопросы по теме