2017-04-09 4 views
1

을 고려하십시오. 현재 개별적으로 쿼리 할 경우 users 또는 parents을 필터링합니다 (행은 deleted_at null 만 해당).Laravel 웅변 내가 두 가지 모델이 부모의 deleted_at

그러나 deleted_at이 null이 아닐 때뿐만 아니라 parentdeleted_at도 null이 아닐 때 user을 필터링하려고합니다.

내 모델에 전역 범위를 적용하여 부모의 deleted_at으로 생각하려면 어떻게해야합니까?

+1

'User : has ("parent") -> where (...)'should work – apokryfos

+0

@apokryfos 나는 그런 느낌이 들었다. 감사! – alashow

답변

2

당신은 query existing relationship existence에 방법 중 하나를 사용할 수 있고, 나는 개인적으로 더 많은 유연성을 제공 whereHas() 방법을 사용합니다 : 당신이 관계에 더 많은 조건을 적용 할 수

User::whereHas('parent', function ($query) { 
     $query->whereDate('deletedAt', '>', 'somedate'); 
    }); 

그 방법을.