2014-09-10 2 views
0

У меня есть 2 модели, как это:Возвращение смежной области [Laravel 4]

class Task extends Eloquent { 

    protected $guarded = ['id']; 

    public function user() { 
     return $this->belongsTo('User'); 
    } 
} 

class User extends Eloquent { 

    protected $guarded = ['id']; 

    public function task() { 
     return $this->hasMany('Task'); 
    } 
} 

..и раздел индекса лезвие, которое выглядит следующим образом:

@foreach ($tasks as $task) 

    {{ "<tr><td>$task->user->fullname</td></tr>" }} 

@endforeach 

... но вместо того, чтобы вернуться полное название, она возвращается весь объект JSON, как ...

{"id":9,"email":"[email protected]","fullname":"Brycen Funk","created_at":"2014-09-09 16:40:31","updated_at":"2014-09-09 16:40:31"}->fullname 

Любые мысли о том, что я делаю не так? Я заранее извиняюсь, потому что я уверен, что ответ очевиден и прямо на моих глазах.

Спасибо.

Dan

+0

Можете ли вы изменить свой вопрос и добавить правильное форматирование для ваших блоков кода (модели в начале и JSON)? Это не так сложно, просто выберите свой код и нажмите значок '{}' скобок на панели инструментов редактора (или, наоборот, отложите весь свой код на 4 пробела в вашем любимом текстовом редакторе до копирования/вставки здесь). Благодаря ! –

+0

Имеет ли значение '$ task-> user() -> полное имя'? Кроме того, хотите ли вы загружать пользователей при сборе задач? – JasonMortonNZ

+0

Я изучаю laravel, поэтому не уверен, что я выполняю загрузку или нет. Однако $ task-> user() -> fullname не работает. –

ответ

0

Когда ваш захватывая свои задачи из БД с помощью красноречивых, вы готовы загружая пользователя вместе с ними? Если нет, то для этого вам просто нужно сделать что-то вдоль этих линий:

$tasks = Task::with(['user'])->get(); 

или в качестве альтернативы вы можете сделать это в вашем цикле Еогеасп:

@foreach ($tasks as $task) 
<tr> 
    <td>{{ $task->user()->fullname }}</td> 
</tr> 
@endforeach 
+0

Яркая загрузка пользователя работала, я смог выполнить эхо-запрос $ с информацией о пользователе. Тем не менее, все еще не удается ссылаться на полное имя, как указано. –

+0

Как насчет установки 'protected $ attributes = array ('fullname');' свойство на вас Модель пользователя? @DanielDunning – JasonMortonNZ

+0

К сожалению, это не решило проблему. Любые другие идеи? –

Смежные вопросы