2016-09-25 4 views
0

Я хочу Foreach некоторые данные, но он говорит, что не знает переменную:Неопределенная переменная Laravel Foreach

Я получаю ошибку:

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

Вот мой код:
Альбом. 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); 
    } 
+0

Используйте '@foreach ($ альбом в $ другие)' –

+0

@CharlotteDunois, что дает мне следующую ошибку: пытаясь получить свойство необъектных – pieter771

+0

сообщения о ** полного ** сообщения об ошибке –

ответ

3

Вы передаете переменный альбом с видом Album.blade.php, что один объект, а не массив объектов, так что вы не можете перебирать в цикле.

Я думаю, вы ошибаетесь.

Вы хотите сделать foreach в index.blade.php, потому что здесь вы передаете переменную альбомов.

или

вам необходимо вернуть вид album.blade.php в функции GetList.

+0

Но мне нужен getList и в моем индексе, есть ли способ вернуть его во множество просмотров? – pieter771

+0

Вам нужен список в обоих файлах? если да, то вы не можете вернуть два вида в одну функцию, но вы можете передать несколько переменных с представлением – Vikash