#laravel #oop
#laravel #ооп
Вопрос:
итак, у меня есть контроллер, который возвращает представление с коллекцией БД, которая у меня есть в репозитории,
теперь, если у меня есть запрос, я хочу вернуть array — json, а не представление
есть идеи, если это правильный подход?
public function index(
Request $request,
CampaignPerformanceRepository $campaignPerformanceRepository
) {
$data = $campaignPerformanceRepository->getDataByPeriod($request);
if ($request->all()) {
return $campaignPerformanceRepository->getDataByPeriod($request);
}
return view('reports.campaign-performances', compact('data'));
}
Ответ №1:
Я делаю что-то подобное в тех случаях, когда я могу захотеть вернуть представление или просто json на основе запроса. Есть простая вспомогательная функция request()-> wantsJson(), которую вы можете использовать.
$data = $campaignPerformanceRepository->getDataByPeriod($request);
if ($request->wantsJson()) {
return $campaignPerformanceRepository->getDataByPeriod($request);
}
return view('reports.campaign-performances', compact('data'));