2017-04-13 129 views
1

我一直在学习laravel,现在我第一次使用雄辩。但即时通讯出现错误。它不能识别代表查询的变量。我在网上搜索了解决方案,但无法解决问题。我使用laravel版本5.4。谁能帮忙?Laravel雄辩 - 未定义变量

错误: “未定义变量:篇”(在teste7.blade)

的代码:

Route::get('teste7', '[email protected]'); 
Route::get('/article/{article}', ['as' => 'article', 'uses' => '[email protected]']); 

控制器

use App\article; 

    function teste7(){ 
    $articles=article::pagination(4); 
    return view('teste7'); 
} 
function article($article){ 
    return view($article); 
} 

teste7

{{ $articles->total() }} articles 
<b>In this page ({{ $articles->count() }} articles)</b> 
<ul> 
@foreach ($articles as $article) 
<li> <a href="{{route('article', ['artigo' => $article->Name])}}">{{ 
$article->Name }}</a></li> 
@endforeach 
</ul> 
{{ $articles->links() }} 

回答

0

您必须使用第二个参数将数据传递到视图中。您可以在documentation here中找到更多信息。

function teste7() { 
    $articles = article::pagination(4); 
    return view('teste7', ['articles' => $articles]); 
} 
0
class CentralController extends Controller 
{ 
    public function teste7() 
    { 
     $articles = article::pagination(4); 

     // returns view 'teste7.blade.php' and passes the $articles variable along 
     return view('teste7', compact('articles')); 
    } 
} 

在你article()功能,你就不能正确返回视图。在teste7()函数中,您将返回一个视图('teste7.blade.php'),但不会将任何变量传递给视图。

将变量从控制器传递到视图是非常重要的。否则,他们将而不是从视图内可访问。

+0

好的。现在它说“调用未定义的方法Illuminate \ Database \ Query \ Builder :: pagination()”。这是什么意思?是分页()只适用于“用户”模式? – Adato