Laravel에서 제공하는 기본 인증 시스템을 사용하고 있습니다. 그러나 Auth 테이블 (사용자)에서 두 개의 테이블 (두 개의 내부 조인 수행)을 조인하려고합니다. 지금까지 두 모델 사이에 두 개의 관계를 만들었고이 모델이 제대로 작동하고 원하는 데이터를 가져 왔지만 테이블에 두 개의 조인을 수행하는 것이 훨씬 효율적이라고 생각할 때 두 가지 추가 쿼리를 수행합니다.Laravel 가입시 인증 테이블
사용자 모델에서 조인을 수행하여 새 쿼리를 만들 필요가 없지만 (Auth :: user()를 호출하여 생성 된 조인을 사용하는 방법))).
내 테이블 :
Users: id username iconid avatarid
Icons: id image
Avatars: id image
그래서 내가하고 싶은 것입니다 :
SELECT icons.image as icon_image, avatars.image as avatar_image FROM users LEFT OUTER JOIN icons ON icons.id = users.iconid LEFT OUTER JOIN avatars ON avatars.id = users.avatarid
이 가능합니까? Auth :: user()가 위의 쿼리를 실행하려면 내 사용자 모델의 메서드를 덮어 씁니까?
답장을 보내 주신 모든 분들께 감사드립니다! 사용자 모델에서
이것은 내가 한 것만 큼, 현재 테이블에 테이블을 결합하는 대신 두 개의 추가 쿼리를 생성합니다. 따라서 Auth :: user() -> 아이콘이 작동하지만 피하려고하는 두 개의 추가 쿼리가 생성됩니다. LEFT OUTER이 Auth 테이블에 테이블을 조인하려고합니다. User 모델 내에서 별도의 메서드를 만들 수는 있지만 Auth :: user() 호출에는 영향을 미치지 않습니다. 귀하의 답변을 주셔서 감사합니다 :) – Patchesoft
어쨌든 Auth :: user() 호출을 조작하는 조인 – Rupert
예제를 추가 했습니까? Auth :: user()가 SQL 코드를 실행하도록 SQL 코드를 어디에 두겠습니까? User 모델의 메소드를 덮어 써야합니까? – Patchesoft