2015-05-14 3 views
0

Я получаю следующую ошибку при попытке получить список массивов, который мы используем для загрузки в представление, чтобы создать список выбора.Ошибка Laravel 5 Вызов неопределенного метода Illuminate Database Query Builder :: Test

Ошибка: Вызов неопределенной метод Осветите \ Database \ Query \ Builder :: альбомы

В нашем контроллере мы используем следующее:

$albums = \Auth::user()->albums->lists('name', 'id'); 

А в модели Albums.php мы используем:

<?php namespace App\Models; 

use Illuminate\Database\Eloquent\Model; 

/** 
* App\Models\Albums 
* 
*/ 
class Albums extends Model 
{ 
    protected $table = 'albums'; 
} 

в в главном файле:

public function albums() 
{ 

    return $this->hasMany('App\Models\Albums', 'name', 'id'); 
} 

ответ

2

Проблема заключается в \ Auth :: пользователя() объект не имеет альбомы функционировать

альбомов() функция должна быть создана в модели пользователя классе

+0

Вы пример, как это сделать? – Adriaan

+0

\ Auth :: user() возвращает объект модели Auth. В config/auth.php вы можете настроить модель Auth (модель пользователя по умолчанию). Вы должны просмотреть http://laravel.com/docs/master/authentication подробнее – PhuLuong

-1

После поиска вокруг, я решил его, добавив следующее к классу User().

public function albums() 
{ 
    return $this->belongsTo('App\Media'); 
} 
Смежные вопросы