PHP Laravel 5.5接收多个关系

时间:2017-11-17 01:33:16

标签: php laravel

关于Laravel的关系我有一个简短的问题。我最近创建了一个任务管理列表,列出了每个用户的所有待办事项列表。每个用户都有自己的待办事项列表,没有人可以观看。

它具有以下结构:

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

我和

有正常的关系
public function tasks()
{
  return $this->hasMany('App\Task');
}

这一切都很好。现在我添加了为用户添加其他关系的选项。我做的是:

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

这也很好。我想知道现在是否有办法让所有任务同时与用户(自己的和相关的)相关?

1 个答案:

答案 0 :(得分:1)

$user->tasks$users->tasksRelated都是雄辩的收藏。

您可以通过merge()合并它们:

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