在Laravel视图中访问嵌套数组

时间:2016-04-14 06:27:13

标签: php laravel

控制器代码:

    public function claims($id)
    {
        $claims = Claim::whereBetween('created_at', [
                            '2016-03-01', 
                            '2016-03-31'
                        ])->get();

        return View::make('pdfs.view', $claims);

    }

在我看来,我收到的消息是$claims是一个未定义的变量。

我知道使用单个数组我可以通过callig一个同名的变量来访问数组属性。即$claims['id]只需$ id

但是我不能用多维数组做到这一点,因为$claims不存在

另外,我无法使用->with('claims' $claims)将数据作为对象传递,因为我正在生成PDF并且库不支持该功能。

有关我如何访问数据的任何想法?

1 个答案:

答案 0 :(得分:2)

因为您的数组不包含key

return View::make('pdfs.view', $claims);

相反,您可以像{/ p>一样使用compact

return View::make('pdfs.view', compact('claims'));

或者您需要在某种程度上将您的值分配给相同的键,如

$claims['claims'] = Claim::whereBetween('created_at', [
                        '2016-03-01', 
                        '2016-03-31'
                    ])->get();
return View::make('pdfs.view', $claims);

或者你可以简单地使用Laravels方式使用with变量,如

return View::make('pdfs.view')->withClaims($claims);
  

注意:使用compact时,请确保您的变量名称必须与您的字符串匹配