【问题标题】:How can I fix undefined variable problem?如何解决未定义变量问题?
【发布时间】:2020-01-19 17:47:44
【问题描述】:

我的 $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)

【问题讨论】:

标签: php laravel voyager


【解决方案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

【讨论】:

  • 如果你这么说。据我所知,您的问题中显示的view() 呼叫您的四个参数是无效的并且不起作用。
  • 问题是它适用于滑块图像和链接,但不适用于 klas。无论如何我只是想在主页视图上测试它,因为我认为它可能会像前 2 个视图一样工作
  • 你尝试过 compact() 和更长的语法吗?
  • 是的,我有。这绝对不是问题。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-02-27
  • 1970-01-01
  • 2019-12-30
  • 2014-07-17
  • 2017-09-22
相关资源
最近更新 更多