2017-11-17 3 views
1

Laravel의 관계에 관한 짧은 문제가 있습니다. 최근에 각 사용자의 모든 할 일 목록을 나열한 작업 관리 목록을 만들었습니다. 각 사용자는 자신 만의 할 일 목록이 있었고 아무도 그것을 볼 수 없었습니다. 나는 정상적인 관계PHP Laravel 5.5 다중 관계 수신

public function tasks() 
{ 
    return $this->hasMany('App\Task'); 
} 

이 모두 완벽하게 잘 작동과 함께 진행했다

id (int) 
user_id (int) 
title (string) 
description (text) 
done (bool) 
finished_until (datetime) 
created_at (datetime) 
updated_at (datetime) 

:

그것은 다음과 같은 구조를 가지고 있었다. 이제 사용자를위한 추가 관계를 추가하는 옵션을 추가했습니다. 내가 한 일은 다음과 같습니다.

public function tasksRelated() 
{ 
    return $this->belongsToMany('App\Task', 'task_relations', 'task_id'); 
} 

나는 현재 사용자 (자신과 관련된 사람)와 관련된 모든 작업을 동시에 수행 할 수있는 방법이 있는지 궁금해하고있었습니다.

답변

1

$user->tasks$users->tasksRelated은 모두 훌륭한 컬렉션입니다.

당신은 merge()를 통해 병합 할 수 있습니다

$ownTasks = $user->tasks; 
$relatedTasks = $user->tasksRelated; 
$allTasks = $ownTasks->merge($relatedTasks); 
+0

이 wark는 다른 개체의 결과? 사례 : 검색 창에서 사용자를위한 cand 검색은 물론 게시물의 검색도 가능하며 검색 결과의 페이지 매김을 유지할 수 있습니까? – HCK