질문을 삭제하지 말아주세요.!
 
1
0
-1

공식문서  API를 보던 중에 갑자기 궁금한데 리턴타입들 중에서 model,builder,collection 의 차이점이나 


확실하게 알 수 있는 문서 있을까요?

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1
      • 모델: 엘로퀀트 모델입니다.

        일반적으로 모델이란 현실세계의 사물을 단순화하여 표현한 것입니다. 어릴 때 가지고 놀던 모형 자동차를 생각해보세요. 가령 몸체, 네바퀴등을 가지고 있지만, 엔진이나 스티어링 휠은 가지고 있지 않잖아요.
        또 다른 예로 사람을 모델링하면 Person 이라고 할겁니다. 현실세계의 사람은 자동차보다 훨씬 더 복잡하죠. 하지만 응용분야에 따라 필요한 속성만 담아서 사람을 모사(mimic) 합니다. 쇼핑몰에서는 구매자로 사용되므로 이름, 이메일, 전화번호, 주소 등이 필요하겠네요. 반면, 의학분야에서 환자로 사용된다면 다양한 병력 정보, 유전 정보등이 속성으로 포함될 것 같네요.
        라라벨의 모델은 모델이 가지고 있어야 할 속성뿐만아니라 복잡한 상속구조를 가지고, 데이터베이스 커넥션까지도 가지고 있긴합니다. 

      • 빌더: 빌더 패턴의 구현체입니다.

        라라벨의 드라이버 매니저, 쿼리 빌더, 엘로퀀트 빌더 등이 빌더에 속합니다. 패턴에 대한 설명은 위키피디아를 참고해주세요.

      • 콜렉션: 집합입니다.

        가령 앞서 언급한 모델 30개를 묶은 것은 콜렉션입니다. 스칼라 배열을 랩핑해서 더 편리한 기능을 제공합니다. 다음 링크의 라라벨 콜렉션의 필터 예제를 살펴보세요. https://laravel.com/docs/5.6/collections#method-filter

         기능은 스칼라 배열과 array_filter() PHP 내장 함수로도 구현할 수 있는데요. 콜렉션을 쓰는게 더 편합니다.
      1. siaer

        설명 감사드립니다^^

      CommentAdd your comment...