如何解决未定义的变量问题?

时间:2019-09-18 17:54:19

标签: php laravel voyager

我的$links$sliderimages变量很好用。 $klas变量的生成方式与我前面提到的前两个相同,并且由于某种原因,它说它是未定义的变量。

第一个$klas用于其他视图,但是我决定在我的主页视图中测试其他两个变量在哪里工作,但是当我将$klas放入相同的错误时发生。

Route::get('/', function () {
        $sliderimages = App\Sliderimage::all();
        $links = App\Link::all();
        $klas = App\Kla::all();
        return view('home', compact('sliderimages'), compact('links'), compact('klas'));
    });

在web.php文件上

 @foreach($links as $link)
        <div class="col-lg-4">
                <img src="{{ Voyager::image( $link->image ) }}"  class="rounded-circle"  width="140" height="140" style="margin-left:25%">
          <h2>"{{$link->title}}"</h2>
          <p>"{{$link->text}}"</p>
          <p><a class="btn btn-secondary" href="{{$link->slug}}" role="button">За повече информация. &raquo;</a></p>
        </div>
        @endforeach
      </div>     

      @foreach($klas as $kla)
        <p>"{{$kla->klastitle}}"</p>
        @endforeach

那是在home.blade上。 php

错误是:

  

未定义变量:klas(视图:D:\ xampp \ htdocs \ koko \ diplomnata \ resources \ views \ home.blade.php)

1 个答案:

答案 0 :(得分:1)

更改此:

return view('home', compact('sliderimages'), compact('links'), compact('klas'));

对此:

return view('home', compact('sliderimages', 'links', 'klas'));

或更长时间,但IMO语法更易读:

return view('home')
    ->with('sliderimages', $sliderImages)
    ->with('links', $links)
    ->with('klas', $klas);

https://laravel.com/docs/master/views#passing-data-to-views