Laravel雄辩 - 未定义的变量

时间:2017-04-13 19:50:52

标签: mysql laravel eloquent

我一直在学习laravel,现在我第一次使用雄辩。但我得到一个错误。它不识别代表查询的变量。我在网上搜索过解决方案,但无法解决问题。我使用laravel版本5.4。有人可以帮忙吗?

错误:“未定义的变量:文章”(在teste7.blade上)

代码:

网络

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

控制器

    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() }}

2 个答案:

答案 0 :(得分:0)

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

中找到更多信息
function teste7() {
    $articles = article::pagination(4);
    return view('teste7', ['articles' => $articles]);
}

答案 1 :(得分: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()函数中,您将返回一个视图(&#39; teste7.blade.php&#39;),但不会将任何变量传递给视图。

将变量从控制器传递到视图非常重要。否则,他们将在视图中访问