Laravel 8 关联方法 Vs 动态属性
如果想访问 Eloquent 关联的所有记录,而不附带查询条件,可以像属性一样访问关联,以 User
和 Post
模型为例,可以这样访问用户的所有文章
$user = App\Models\User::find(1);
foreach ($user->posts as $post) {
//
}
动态属性是 「懒加载」 的,只有实际访问到才会加载关联数据。因此,通常用 预加载 来准备模型需要用到的关联数据。预加载能大量减少因加载模型关联执行的 SQL 语句。