关于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');
}
这也很好。我想知道现在是否有办法让所有任务同时与用户(自己的和相关的)相关?
答案 0 :(得分:1)
$user->tasks
和$users->tasksRelated
都是雄辩的收藏。
您可以通过merge()
合并它们:
$ownTasks = $user->tasks;
$relatedTasks = $user->tasksRelated;
$allTasks = $ownTasks->merge($relatedTasks);