duankekan9269 2016-01-05 19:01
浏览 128
已采纳

Laravel 5.1 - 视图中的未定义变量

I have this controller:

<?php

namespace App\Http\Controllers;

class TestController extends Controller
{
    public function index()
    {
        $html = file_get_html('http://www.somesite.com/');
        $html->getElementsByTagName('article');
        $anc = $html->find('a');

        return view('welcome', compact($anc));
    }
}

and this view :

<!DOCTYPE html>
<html>
    <head>
        <title>Laravel</title>
    </head>
    <body>
        <div class="container">
            <div class="content">
                @foreach($anc as $item)
                    {{ $item }} <br>
                @endforeach
            </div>
        </div>
    </body>
</html>

Very simple and nothing special. just getting contents of a url and parsing it with a simple library and returning variable anc to the welcome view and then in the view i'm trying to echo each element. it gives me:

ErrorException in 051dd3929cf86b31dbaacb340018a3c5 line 9:
Undefined variable: anc (View: C:\Users\User\Desktop\Projectesources\views\welcome.blade.php)
  • 写回答

2条回答 默认 最新

  • dongxun7962 2016-01-05 19:07
    关注

    You're using compact() improperly. Correct usage is this:

    return view('welcome', compact('anc'));
    

    Pass the names of the variables you want compacted, as strings.

    PHP doc: http://php.net/manual/en/function.compact.php

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?