Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/oop/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在这种情况下,哪种设计模式可以帮助我使用-Laravel_Laravel_Oop - Fatal编程技术网

在这种情况下,哪种设计模式可以帮助我使用-Laravel

在这种情况下,哪种设计模式可以帮助我使用-Laravel,laravel,oop,Laravel,Oop,所以我有一个控制器,它返回一个带有DB集合的视图,我有一个存储库 现在,如果我有一个请求,我想返回一个数组-json,而不是一个视图 如果这是正确的方法,你有什么想法吗 public function index( Request $request, CampaignPerformanceRepository $campaignPerformanceRepository ) { $data = $campaignPerformanceRepository->

所以我有一个控制器,它返回一个带有DB集合的视图,我有一个存储库

现在,如果我有一个请求,我想返回一个数组-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'));
}

如果我希望根据请求返回视图或仅返回json,我会执行类似的操作。有一个简单的助手函数request->wantsJson,您可以使用它

$data = $campaignPerformanceRepository->getDataByPeriod($request);

if ($request->wantsJson()) {
    return $campaignPerformanceRepository->getDataByPeriod($request);
}

return view('reports.campaign-performances', compact('data'));