2013-10-19 43 views
0

上下面的代碼將拋出異常Laravel4:調用一個成員功能的非對象

Call to a member function `links()` on a non-object 

routes.php文件:

Route::get('videos', function(){ 
    $data = DB::table('video_data_r')->paginate(5); 
    return View::make('video',$data); 
}); 

通訊video視圖:

<?php foreach($data as $item): ?> 
<div class="video_entry"> 
    <a href="<?php echo $item -> url; ?>" target="_blank"><img src="<?php echo $item -> thumb; ?>" /></a> 
    <a href="<?php echo $item -> url; ?>" target="_blank"><?php echo $item -> title; ?>"</a> 
</div> 
<?php endforeach; ?> 
<?php echo $data->links();?> 

你能給我一個很好的提示,看看是什麼看起來像一個微不足道的錯誤?

回答

0

in the docs所述,View::make的第二個參數應該是作爲本地範圍變量在視圖中公開的數據的關聯數組。

因此$data = array('foo' => 'Ron', 'bar' => 'John);會暴露$foo$bar的視圖。

您將paginate的結果直接傳遞給視圖,所以它的鍵將被暴露。

您應該通過array('data' => $data)來代替。

+0

得救了。謝謝你們! – s0hno

1

一個更簡潔的方式將使用PHP compact功能

return View::make('video',compact('data')); 
+0

Compact是一個標準的PHP函數(http://php.net/compact),不是Laravel定義的。 –

+0

thx @SergiuParaschiv ...更新了我的答案 – imran

相關問題