未定义的变量Laravel Foreach

时间:2016-09-25 19:05:35

标签: php laravel blade

我想要预告一些数据,但它说它不知道变量:

我得到的错误:

    ErrorException in dbda158712a631f22ffd888cd244c74e60f3a433.php line 51:
Undefined variable: albums (View:        /var/www/clients/client2/web2/web/resources/views/album.blade.php)

这是我的代码:
Album.blade.php

@foreach($albums as $others)
    <option value="{{$others->id}}">{{$others->name}}</option>
@endforeach

我的相册控制器功能

  public function getAlbum($id)
  {
    $album = Album::with('Photos')->find($id);
    return View::make('album')
    ->with('album',$album);
  }

  public function getList()
  {
    $albums = Album::with('Photos')->get();
    return View::make('index')
    ->with('albums',$albums);
  }

2 个答案:

答案 0 :(得分:3)

您正在使用视图Album.blade.php传递专辑变量,该视图是单个对象,而不是对象数组,因此您无法循环迭代。

我认为你犯了一个错误。

你想在index.blade.php中做foreach,因为你在这里传递了专辑变量。

您需要在getList函数中返回查看album.blade.php。

答案 1 :(得分:0)

试用此代码。

 public function getAlbum($id)
 {
      $albums=albums::with('Photos')->get();

       $album=albums::with('Photos')->find($id);

       return view('album',compact('albums','album'));

 }