Laravel 4 具有多功能的动态特性(Laravel4/Elount)

Laravel 4 具有多功能的动态特性(Laravel4/Elount),laravel-4,eloquent,Laravel 4,Eloquent,我有一个非常基本的关系,其中搜索被记录并与执行搜索的用户ID一起存储 我试图输出此日志并显示用户名而不是id 搜索 public function user() { return $this->belongsTo('User'); } 用户 public function searches() { return $this->hasMany('Search'); } 如果我然后通过Search::all()到视图,我如何回显用户名?在许多其他事情中,我尝试过:

我有一个非常基本的关系,其中搜索被记录并与执行搜索的用户ID一起存储

我试图输出此日志并显示用户名而不是id

搜索

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

public function searches()
{ 
    return $this->hasMany('Search');
}
如果我然后通过
Search::all()到视图,我如何回显用户名?在许多其他事情中,我尝试过:

@foreach($searches as $search)
    <tr>
        <td>{{ $search->user->username }}</td>
        <td>{{ $search->description }}</td>
        <td>{{ $search->product }}</td>
        <td>{{ $search->group }}</td>
    </tr>
@endforeach
@foreach($search作为$search进行搜索)
{{$search->user->username}
{{$search->description}
{{$search->product}
{{$search->group}
@endforeach

非常感谢您的帮助。谢谢

当前,您的循环存在
N+1问题

循环将执行一个查询以检索表上的所有
搜索
,然后对每个
搜索
执行另一个查询以检索
用户
。因此,如果您有
20个搜索
,此循环将运行
21个
查询

<td>{{ $search->user->username }}</td>
有关N+1问题的更多信息:

http://laravel.com/docs/eloquent#eager-loading

谢谢你的帮助。昨晚我读了又读了一遍文档,但是N+1没有点击。不过,你的解释确实有帮助!
http://laravel.com/docs/eloquent#eager-loading