내 쿼리입니다Laravel 웅변 선택 기능이 원인 빈 관계
$user = User::select(['uuid','name','about'])->with(['education','work'])->first();
이 관계 education
및 work
, 에 대한 빈 데이터를 반환하지만 쿼리에서 select
기능을 제거하면 나는 점점 관계 데이터과도 수익을 생각합니다 내가 원하지 않는 사용자 테이블의 모든 열. 이 문제
내 쿼리입니다Laravel 웅변 선택 기능이 원인 빈 관계
$user = User::select(['uuid','name','about'])->with(['education','work'])->first();
이 관계 education
및 work
, 에 대한 빈 데이터를 반환하지만 쿼리에서 select
기능을 제거하면 나는 점점 관계 데이터과도 수익을 생각합니다 내가 원하지 않는 사용자 테이블의 모든 열. 이 문제
문제를 해결할 수있는 방법을
관계 (with(...)
)는 관련 결과를 얻기 위해 추가 쿼리를 실행할 것입니다. users
의 수가 많고 works
인 일대 다 관계가 있다고 가정 해 보겠습니다. User::with('work')->find(1)
그러면
select user where id = 1
및 select works where user_id = 1
과 같은 두 개의 쿼리가 실행됩니다.
기본적으로 두 번째 쿼리 (관계 데이터 가져 오기)를 수행하려면 select 문에서 id
(또는 참조하고있는 열)을 포함시켜야합니다.
수정 : 다른 형태의
$user = User::select(['uuid','name','about', 'id'])->with(['education','work'])->first();
같은 원칙은 모든 관계에 적용됩니다. 예를 들어 hasMany
의 역수가 belongsTo
인 경우 외래 키 (예 : user_id
)를 선택해야합니다.
고맙습니다. –