2016-04-14 73 views
1

控制器代碼:訪問嵌套陣列在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和該庫不支持該功能。

任何想法如何訪問數據?

回答

2

因爲你的陣列不包含key

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

,而不是你可以使用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); 

或者你可以簡單地使用Larave LS方式使用with變量等作爲

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

注:當使用compact確保你的變量名必須與字符串相匹配

+1

'compact'是'[ '索賠'=> $快捷方式聲稱],只是讓你知道這裏的工作。以這種方式傳遞給視圖的變量應該在關聯數組中。 – Jeff

+1

完美的作品,謝謝! – user1105056

+0

很高興幫助你。 @ user1105056 –