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

문서를 보면서도 잘 이해가 안됩니다.

일반적인 sql로 생각하면 되는건지 잘 모르겠습니다.

예를 들어서

SELECT *
FROM shop AS s
        LEFT OUTER JOIN user AS u ON s.user_id = u.user_id

이런식의 쿼리를 나타내고 싶은데요

 Model안에 Join을 할 테이블(user)를 ```return $this→hasOne(User::class);``` 로 만들면 shop 테이블에 대한 값은 안나오고 user 테이블에 관련된 값만 나오더라구요.. 제가 잘못한것 같은데

shop과 user 테이블 모든 컬럼값을 나오게 하고 싶습니다.


그리고 controller에서 

Shop::find(1)->getUser()->get();

이렇게 하나의 id를 찾을 수 밖에 없는 건지, 아니면 find를 쓰지 않고 join을 할 수 있는 건지 잘 모르겠습니다.

정말 너무 어렵습니다.....

    CommentAdd your comment...

    1 answer

    1.  
      1
      0
      -1

      https://laravel.kr/docs/5.5/eloquent-relationships#eager-loading

      매뉴얼에 지연 Eager loading 부분을 참고해보세요.

      혹은 

      https://laravel.kr/docs/5.5/queries#joins

      쿼리빌더에 join 구문 부분도 확인해 보시면 될듯 합니다.


      처음엔 익숙치 않아 어렵게 느껴질 수 있습니다.

      1. lzao

        넵 답변 감사합니다. ㅠ

      CommentAdd your comment...