2017-03-15 15 views
1

현재 응용 프로그램을 최적화하고 있으며 필요한 것은 데이터베이스에서 필요한 항목 만 선택하는 것입니다.laravel 관계가있는 특정 열을 선택하십시오.

$user = User::where($attribute, '=', $value)->first(); 

이 코드는 모든 열이 전체 사용자 개체를 날 다시 줄 것이다 : 나는 일반적으로 다음과 같이 그것을 사용자 객체를 검색하고 있습니다 예를 들어

. 이 또한 예상하고있다으로

$user = User::where($attribute, '=', $value)->first($columns); 

: 내 사용자 테이블은, 그래서 단지 내가 이런 식으로 필요한 열을 선택하는 것이 좋습니다 꽤 큰 생각된다. 하지만 내 문제는, 내가 열을 지정하자마자 더 이상 객체가 아니기 때문에 $ user 변수의 관계가 더 이상 작동하지 않는다는 것입니다.

내 질문은 : 단지 몇 열을 선택하지만 여전히

$user->parents 

감사와 같은 관계를 사용할 수있게하는 것이 가능!

답변

0

$user = User::where($attribute, '=', $value)->select($columns)->first(); 
0

그냥 당신이 얻을하려는 관계에 대한 모든 외부 키를 추가하십시오. 당신이 parent() 관계를 사용하려는 경우 예를 들어, 단지 $columns에 키를 추가 : 그 후

array_push($columns, 'parent_id'); 

을, 당신은 parent() 관계를 사용할 수 있습니다.