>백엔드 개발 >PHP 튜토리얼 >Laravel은 쿼리 기사와 기사 작성자를 연결합니다.

Laravel은 쿼리 기사와 기사 작성자를 연결합니다.

PHP中文网
PHP中文网원래의
2017-03-21 16:18:231613검색

기사 목록을 쿼리하고 기사의 작성자 정보를 쿼리하는 방법은 무엇입니까? 모델에 1:1 관계를 작성하고 뷰에서 호출했습니다. 작성자에게 쿼리할 쿼리문이 많습니다.

문을 한 번에 쿼리하려면 어떻게 해야 하나요? 답변 내용:

기사 목록을 쿼리합니다. 관련해서 쿼리하는 방법은 모델에서 1:1 관계를 만들어서 뷰에서 호출했다고 썼는데, 가능하긴 하지만 에 대한 쿼리문이 많습니다. 작성자에게 쿼리하려면 어떻게 해야 하나요?


짧은 답변: Eager Loading을 사용해야 합니다

긴 답변:


아래와 같은 쿼리와 Traversal을 사용하여 10개의 article 데이터가 반환되면 총 11개의 SQL 문이 생성됩니다. 첫 번째는 article 데이터 10개를 모두 한 번에 쿼리하는 것입니다. 또한 각 순회는 해당 author 데이터를 얻기 위해 한 번씩 실행됩니다(이유는 SQL이 기본값이기 때문입니다. Eloquent으로, 관계형 데이터에 접근할 때만 쿼리 작업이 수행됩니다. Lazy Loading

$articles = App\Article::all();

foreach ($articles as $article) {
    echo $article->author->name;
}
아래와 같이

을 사용하면 Eager Loading 쿼리가 한 번만 실행됩니다. SQL

$articles = App\Article::with('author')->get();

foreach ($articles as $article) {
    echo $article->author->name;
}
관련 기사:

Laravel의 여러 조건 관련 쿼리에 대해 질문이 있으신가요?

Laravel 관련 쿼리가 관리 개체의 데이터 중 일부만 가져옵니다.

Laravel 관련 쿼리 문제

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.