2017-11-17 10 views
1

私はLaravelの関係に関して短い問題があります。私は最近、タスク管理リストを作成しました。このリストには、各ユーザーのすべてのToDoリストがリストされています。各ユーザーは自分の予定リストを持ち、誰もそれを見ることができませんでした。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も異なるオブジェクトから得られますか?ケース:検索バーでユーザーを検索するだけでなく、投稿を検索することができますか?これを実行して結果をページ変更できますか? – HCK

関連する問題