Возврат нескольких виджетов, таких как Виды с одного маршрута - PullRequest
0 голосов
/ 04 ноября 2019

Я создаю панель мониторинга в проекте laravel.
Чтобы улучшить время загрузки панели мониторинга, я пытаюсь объединить разные виджеты с похожими данными в одном вызове.

Пример
Я хотел бы добавить метрику, например "Клики", на свою панель инструментов. Я хотел бы отобразить клики в системе показателей и график, чтобы показать общее и ежедневное увеличение кликов.

Эти виджеты будут выглядеть следующим образом;
Scorecard Clicks

Graph Clicks

Я настроил серверную часть для обработки своих формул и выкладывания нужных мне данных, которые выглядят так:
data

Единственный оставленный мною шаг - это возвращение представлений к вызову ajax, чтобы я мог вставить их в нужную область представления. Однако я не могу найти, как скомпилировать представления вместо того, чтобы возвращать объект View ().

Я предполагаю, что мой вопрос состоит из двух частей. 1. Будет ли это соответствовать стандартам Laravel или мне лучше создать весь макет панели мониторинга при первой загрузке и просто заменить данные. 2. Если это соответствует стандартам, как мне скомпилировать несколько представлений перед их возвратом?

foreach($reportDataItems as $reportData){    
    $widgets[] = View("dashboard.widgets.". $reportData["widgetType"], $reportData); 
}
return $widgets;

1 Ответ

1 голос
/ 05 ноября 2019

Я не могу сказать о вопросе № 1, но для вопроса № 2 вы можете render the View:

$view = view('welcome', [...]);

$html = $view->render();
// or
$html = (string) $view;
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...