Eager Loading 체이닝

Submitted by river - 등록 9 years ago - 수정 9 years ago

User, Phone, Post 세 개의 모델이 있고, 다음의 관계를 갖는다고 가정하자.

class User extends Eloquent {

    public function phone()
    {
        return $this->hasOne('Phone');
    }

    publif function posts()
    {
        return $this->hasMany('Post');
    }

}

class Phone extends Eloquent {

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

}


class Post extends Eloquent {

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

}

포스트와 이를 등록한 사용자, 그리고 사용자 전화정보는 eager loading 체이닝을 사용해서 구할 수 있다.

$posts = Post::with(['user', 'user.phone'])->get();
dd($posts);
comments powered by Disqus