返回相关字段[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":"FunkB@example.com","fullname":"Brycen Funk","created_at":"2014-09-09 16:40:31","updated_at":"2014-09-09 16:40:31"}->fullname

你觉得我做错了什么吗?我提前道歉,因为我确信答案是显而易见的,就在我眼前。

谢谢。

Dan

当您使用Eloquent从DB中获取任务时,您是否渴望将用户与它们一起加载?如果没有,要做到这一点,你只需要沿着以下路线做一些事情:

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

或者你也可以在前臂循环中这样做:

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

最新更新