그래서 내가 만들고있는 웹 응용 프로그램 용 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 쿼리를 작성하면 되겠지만 좀 더 웅변적인 방법이 있는지 궁금합니다. 같은
같은 열망로드 그것에있는 로그 각 관련 사용자가 필요하면 어떻게 중첩 체인에서 마지막 개체'User'를 얻는 방법? – Darama