2016-06-12 2 views
4

그래서 내가 만들고있는 웹 응용 프로그램 용 API를 만들고 있는데이를 Eloquent ORM 내에서 유지하려고합니다.Laravel Eloquent ORM - 문으로 중첩

class Site extends Model { 
    public function log() { 
     return $this->hasMany('App\SiteLog', 'site_id', 'id'); 
    } 
} 

SiteLog 클래스 코드 :

class SiteLog extends Model 
{  
    public function site() 
    { 
     return $this->belongsTo('App\Site', 'site_id', 'id'); 
    } 

    public function user() 
    { 
     return $this->belongsTo('App\User', 'user_id', 'id'); 
    } 
} 
- -> 사이트 로그> 사이트

사이트 클래스 코드

사용자 : 내가 진행 한 부모 - 자식 관계가있다

SiteLog 클래스를 인스턴스화 할 때 다음을 사용합니다.

$sites = Site::with('log')->get(); 

jQuery를 사용하여 GET 요청을하면 모든 사이트가 생성되고 내부에는 각 사이트의 모든 데이터에 대한 개체 배열이 있습니다. 정확히 내가 원했던 것입니다. 그러나 나는 한 걸음 더 나아가 로그가 연관되어있는 사용자를 얻고 싶었다. 이것이 어떻게 작동하는지 등

정렬 :

SiteLog::with('user')->get(); 

그러나 하나 개의 문장에있는 모든 것이 하나 개의 큰 쿼리를 조인 것처럼. 그러나, 나는 Eloquent ORM이 그런 테스트 케이스를 다루는 지 잘 모르겠습니다.

누구나 이와 같은 것을 성취 한 사람이 있습니까? 이 일을 꽤 해키 웠던 일로 끝내거나 그냥 원시 SQL 쿼리를 작성하면 되겠지만 좀 더 웅변적인 방법이 있는지 궁금합니다. 같은

답변