문서를 보면서도 잘 이해가 안됩니다.
일반적인 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을 할 수 있는 건지 잘 모르겠습니다.
정말 너무 어렵습니다.....
https://laravel.kr/docs/5.5/eloquent-relationships#eager-loading
매뉴얼에 지연 Eager loading 부분을 참고해보세요.
혹은
https://laravel.kr/docs/5.5/queries#joins
쿼리빌더에 join 구문 부분도 확인해 보시면 될듯 합니다.
처음엔 익숙치 않아 어렵게 느껴질 수 있습니다.
넵 답변 감사합니다. ㅠ
문서를 보면서도 잘 이해가 안됩니다.
일반적인 sql로 생각하면 되는건지 잘 모르겠습니다.
예를 들어서
이런식의 쿼리를 나타내고 싶은데요
Model안에 Join을 할 테이블(user)를 ```return $this→hasOne(User::class);``` 로 만들면 shop 테이블에 대한 값은 안나오고 user 테이블에 관련된 값만 나오더라구요.. 제가 잘못한것 같은데
shop과 user 테이블 모든 컬럼값을 나오게 하고 싶습니다.
그리고 controller에서
이렇게 하나의 id를 찾을 수 밖에 없는 건지, 아니면 find를 쓰지 않고 join을 할 수 있는 건지 잘 모르겠습니다.
정말 너무 어렵습니다.....