【发布时间】:2018-05-10 14:30:33
【问题描述】:
寻求有关创建雄辩查询的一些建议。
我有 3 张桌子
- 项目
- 任务
- 用户任务
一个项目有任务,我们在 usertasks 中保存任务和用户 ID,以便我们知道它已由用户完成。现在我需要查询用户已完成的所有项目,因此项目中包含该项目的所有任务都已完成的任务。
我似乎无法理解它,我正在尝试为此创建一个范围。
public function scopeisCompleted($query)
{
$query = $query->whereHas('userTasks', function ($query) {
$query->where('user_id', '=', Auth::user()->id);
})->get();
return $query;
}
我似乎无法弄清楚如何确保用户完成该项目的所有任务。
对前进有什么建议吗?
【问题讨论】:
-
我想你可以在这里找到它。您需要将您的关系与模型联系起来,然后将它们与用户的关系调用。 laravel.com/docs/5.6/eloquent-relationships
-
我已经为所有 3 个创建了关系,我不确定如何查询已完成所有任务的项目。我可以获得项目的所有任务,但是我不确定如何为其中所有任务都由特定用户完成的项目创建一个查询。我应该关注该文档中的特定部分吗?我已经阅读了很多遍,但似乎无法建立联系。