>백엔드 개발 >PHP 튜토리얼 >Laravel에서 `$model->relation()`과 `$model->relation`의 차이점은 무엇입니까?

Laravel에서 `$model->relation()`과 `$model->relation`의 차이점은 무엇입니까?

Susan Sarandon
Susan Sarandon원래의
2024-11-01 07:01:30430검색

Laravel의

What's the Difference Between `$model->relation()`과 `$model->relation`이요? 
relation()` 및 `$model->relation`을 Laravel에서 사용하시겠습니까? " />

$model->relation()과 $model->relation 이해

Laravel에서 $model->relation() 구문은 다음과 같습니다. $model->relation은 모델 관계에 액세스하는 데 자주 사용되지만 기능 면에서 크게 다릅니다.

$model->relation()

$model->relation()은 모델에 정의된 관계 메소드를 호출합니다. 이 메소드는 추가 쿼리 사용자 정의를 허용하는 실제 관계 객체를 반환합니다. 예:

<code class="php">$distributors = $store->distributors()->where('priority', '>', 4);</code>

$model-> ;relation

$model->relation은 관계의 결과를 검색합니다. Laravel은 관계에 대한 getter 메소드를 동적으로 생성하여 모델 속성으로 액세스할 수 있도록 합니다. 이 구문은 자동으로 관계 데이터를 가져오고 반환합니다. 결과를 컬렉션으로 표시합니다. 예:

<code class="php">$distributors = $store->distributors;</code>

주요 차이점

  • 반환 유형: $model->relation( )는 관계 개체를 반환하고 $model->relation은 관계 결과를 반환합니다.
  • 쿼리 사용자 정의: $model->relation()을 사용하면 관계 개체를 가져오기 전에 추가 쿼리 사용자 정의가 가능합니다. $model->relation은 관계 메소드에 정의된 기본 쿼리를 기반으로 결과를 검색합니다.
  • 동적 속성: $model->relation은 동적 관계 속성 기능을 활용합니다. getter 메소드를 자동으로 생성하려면 Laravel을 사용하세요.

Use Cases

  • 관계를 수정해야 할 경우 $model->relation()을 사용하세요. 결과를 가져오기 전에 쿼리하세요.
  • 맞춤 설정 없이 단순히 관계 데이터를 검색하려는 경우 $model->relation을 사용하세요.

위 내용은 Laravel에서 `$model->relation()`과 `$model->relation`의 차이점은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

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