2016-08-14 1 views
4

값을 확인하고 건강에 해로운 상태로 되돌려 놓아야하는 모델이 있습니다. 접근자를 만들었습니다. 접근자는 예상대로 true 또는 false를 반환합니다.Laravel 5.2 - 범위를 통한 접근 자

$task->unhealthy() 

액세스 용 코드

public function getUnhealthyAttribute(){ 

     //Is in Active status 
     if ($this->status_id == 1){ 
      return true; 
     } 

     //Has overdue items 
     if ($this->items()->overdue()->count() > 0) { 
      return true; 
     } 

     return false; 
    } 

지금은 모든 "불건전 한"작업의 컬렉션을 검색 할 필요가있다.

질문 : 스코프와 함께 접근자를 활용할 수 있습니까? 올바른 접근 방법은 무엇입니까? 당신이 모든 작업의 컬렉션이 일단

+0

*이 * 수 - 당신이 그것을 시도? 나는 그것이 가능할 것이라고 생각하지만, 2 분의 일을 위해서 당신은 알 것입니다. 그렇지 않으면 자신의 범위를 작성하는 것이 상대적으로 쉽습니다. – James

답변

1

에서만 건강에 해로운 작업을 필터링 할 collection's filter() method를 사용할 수 있습니다

$unhealthy_tasks = $tasks->filter(function($task, $key) { 
    return $task->unhealthy; // if returns true, will be in $unhealthy_tasks 
});