Laravel4:调用非对象的成员函数

时间:2013-10-19 10:07:50

标签: php laravel laravel-4

以下代码将引发错误

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();?>

你能给我一个关于看起来像一个微不足道的错误的好提示吗?

2 个答案:

答案 0 :(得分:1)

更简洁的方法是使用PHP compact函数

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

答案 1 :(得分:0)

in the docs所述,View::make的第二个参数应该是一个关联的数据数组,它将作为局部范围变量在视图中公开。

因此$data = array('foo' => 'Ron', 'bar' => 'John);会向视图展示$foo$bar

您将paginate的结果直接传递给视图,因此它的键将被曝光。

您应该通过array('data' => $data)